hi!
ich versuche ein win32 programm zu coden mit mfc, welches dialogbasiert ist.
nun möchte ich, dass wenn man zb auf den okay button klickt (im "startdialog"), dass dann ein modeless dialog erzeugt wird.
also ein dialog der es möglich macht trotzdem weiterhin das programm zu benutzen.
dafür benutze ich wie in einigen tuts beschrieben folgenden code:
die variable mit dem namen dlg ist eine globale pointer variable vom typ CDialog.
wenn ich das mache stürzt das programm beim aufruf dieser funktion ab...
benutze ich aber nun eine lokale CDialog variable (auch pointer) dann stürzt das programm nicht an dieser stelle ab, aber der dialog wird nur ganz kurz angezeigt (und zwar wahrscheinlich nur solang wie diese lokale CDialog variable gültigkeit hat und dass ist ja nur in meiner der aufrufenden funktion der fall.
in einem tut steht dass die variable unbedingt global sein muss da sonst das fenster sofort wieder verschwindet... aber benutze ich eine globale cdialog dann stürzt das programm einfach ab.
woran liegt das?
mfg
ich versuche ein win32 programm zu coden mit mfc, welches dialogbasiert ist.
nun möchte ich, dass wenn man zb auf den okay button klickt (im "startdialog"), dass dann ein modeless dialog erzeugt wird.
also ein dialog der es möglich macht trotzdem weiterhin das programm zu benutzen.
dafür benutze ich wie in einigen tuts beschrieben folgenden code:
Code:
void CFileManager::FileManager()
{
dlg = new CFileMngWnd;
dlg->Create(IDD_FILEMNG1,NULL);
dlg->ShowWindow(1);
}
die variable mit dem namen dlg ist eine globale pointer variable vom typ CDialog.
wenn ich das mache stürzt das programm beim aufruf dieser funktion ab...
benutze ich aber nun eine lokale CDialog variable (auch pointer) dann stürzt das programm nicht an dieser stelle ab, aber der dialog wird nur ganz kurz angezeigt (und zwar wahrscheinlich nur solang wie diese lokale CDialog variable gültigkeit hat und dass ist ja nur in meiner der aufrufenden funktion der fall.
in einem tut steht dass die variable unbedingt global sein muss da sonst das fenster sofort wieder verschwindet... aber benutze ich eine globale cdialog dann stürzt das programm einfach ab.
woran liegt das?
mfg