Hallo,
bin noch Programmieranfänger und hätte da eine Frage. Arbeite zur Zeit an einem kleinen, dialog-basierten Tool, welches ich mit Visual C++ 6.0 erstelle. Beim Start des Tools soll dabei automatisch zunächst ein Dialogfeld mit DoModal() aufgerufen werden, welches automatisch verschiedene Einstellungen initialisiert und das auch entsprechend darstellt.
Das klappt auch alles wunderbar, nur kriege ich im Debug-Modus einen "Debug Assertion Error" in der wincore.cpp, Zeile 3486.
Ein paar Details. Mein Hauptdialog enthält als Member das aufzurufende Dialogfeld. Dieses wird dann in der OnInitDialog-Funktion mittels DoModal() aufgerufen.
In der OnPaint-Funktion des aufgerufenen Dialogs wird dann die auszuführende Funktion gestartet (auch wirklich nur einmal, nicht bei jedem Paint) und läuft problemlos durch. Sobald die aufgerufene Funktion aber versucht, das Dialogfenster wieder mittels Aufruf von OnOK, OnCancel oder EndDialog zu beenden, kommt besagter "Debug Assertion Error". Der Rest des Programms läuft dann normal weiter.
Tja, hab keine Idee, wieso und warum. Außerdem wär ich für Tipps dankbar, die mir verraten, wie man sofort nach dem Aufruf eines Dialogs Funktionen ausführen kann. OnInitDialog ist leider keine Option, da die Funktion einige Elemente des Dialogfensters beeinflusst (u.a. eine ProgressBar) und das keinen Sinn machen würde, wenn das Fenster noch nichtmal dargestellt wird.