Problem mit Dialog in Resource-DLL
-
Hallo zusammen!
Ich habe folgendes Problem:
Ein Applikation in Sprache A hat alle nötigen Resourcen im Hauptprojekt (EXE). Für einen andere Sprache B wurde eine DLL mit allen nötigen Resourcen angelegt.
Um sicher zu gehen, dass auch identische IDs verwendet werden, wurden alle Dialoge aus dem Original kopiert und übersetzt. Die resource.h wurde aus dem EXE-Projekt in das DLL-Projekt kopiert, so dass auch alle defines identisch sind.Die DLL wird dann importiert und auf Knopfdruck eingebunden. Klappt wunderbar.
Alle Menüs, Texte etc... wurden sauber ausgetauscht.
Nur ein einziger Dialog macht Probleme: Er erscheint einfach nicht! Alle anderen schon. Der DoModal() liefert -1 zurück und ich kann meinen Fehler beim besten willen nicht finden.Breakpoints in den Funktionen DoDataExchange und OnInitDialog werden in Sprache A problemlos angelaufen, in Sprache B jedoch nicht, so dass ich stark vermute, dass die Dialogklasse die Resourcen von Sprache B nicht findet.
Ein händische Suche blieb bis jetzt erfolglos, was aber nicht heissen soll, dass sich dort nicht irgendwo noch was verstecken könnte...
Hat jemand eine Idee, wie man das Problem aufdecken könnte?
Gibts irgendwelche Methoden um einen genaueren Fehlercode als "geht nicht" zu bekommen?Danke & Gruß
J.
-
Was sagt GetLastError?
Schau mal in das Debug Ausgabe Fenster, evtl. steht da eine Trace Ausgabe, was schief läuft!
-
Ich hab GetLastError() jetzt an 3 verschiedenen Stellen eingebaut. Direkt nach dem Aufruf, im Destruktor der Dialogklasse und in einer testweise überladenen DoModal() der Dialogklasse. An allen 3 Stellen liefert es mir "0" zurück, also auch nicht wirklich aussagekräftig...
Bin jetzt aber noch auf was anderes gestossen:
In betroffenem Dialog hängt ein Custom-Control, das auf einer eigenen Klasse basiert. Wenn ich dieses Control rausschmeisse gehts...Die Frage ist nun:
Wie krieg ich das Ding nun so weit, dass es mit dem Control geht?
-
Ok. Habs geschafft!
Einfach das Control ohne Designer anlegen, dann passt´s!
Die Idee ist so einfach, dass man meistens nicht draufkommt...Danke!