Kompilierungsfehler bei SDI-Anwendung wg. Instanz von CDialog
-
Hallo, ich arbeite gerade an einer SDI-Anwendung. Innerhalb der CMainFrame-Klasse habe ich eine Instanz der Klasse CDialog erstellt, die ich für ein Dialogfeld benötige, das in meiner Anwendung vorkommt.
Wenn ich das ganze im Debug-Modus erstelle, funktioniert das einwandfrei, im Release-Modus kommt jedoch jedesmal ein Fehler, dass
COptionsDlg eine fehlende Speicherklasse sei, was zwei weitere, daraus resultierende Fehler mit sich zieht(Semikolon falsch, Instanz muß Typ haben).
Meine Vermutung ist folgende:
Die Datei mainfrm.cpp braucht zur Kompilierung die Größe der Klasse CDialog, von der ich eine Instanz haben möchte. Irgendwie bekommt sie die nicht.
Im Debug-Modus kommt der Fehler jedesmal, wenn ich an der CDialog-Klasse etwas verändere. Dann reicht es aber, wenn man die Definition der Instanz kurz auskommentiert, die Datei versucht zu kompilieren(es kommen dann bei mir 11 Fehlermeldungen) und dann die Instanzdefinition erneut einfügt und nochmal kompiliert. (Ich hoffe, ihr wisst, was ich meine
Das geht im Release-Modus nicht!!!! Hat jemand eine Ahnung, wie sich das Problem beheben lässt?
Dankeschön im voraus
E-the-Real
-
Alles klar, ich hab's rausgefunden,das ganze lag an einer falschen Inkludierung:
OptionsDlg.h inkludiert standardmäßig MainFrm.h, in MainFrm.cpp habe ich nachträglich OptionsDlg.h inkludiert. Dadurch kam's zu einer Endlos-Inkludierung. Ich habe daraufhin die Include-Anweisung in der OptionsDlg.h gelöscht,da die Klasse COptionsDlg (mein Dialogfeld) die MainFrm.h nicht benötigt.
Merkwürdig nur, dass in der Debug-Variante das nicht als Fehler behandelt wird... tja, MS
-> Close Topic
Gruß
E-the-Real