Zugriffsverletzung beim ShowModal()
-
Hallo,
ich habe ein MDI-Project. Ich habe die einzelnen Formulare mit dem BCB-Builder erstellt, meinen Code geschrieben und geprüft.
Wenn ich jetzt unter Optionen sage, dass dieses Formular nicht Automatisch erzeugt werden soll, stürzt der Explorer beim Aufruf mittels ShowModal() einen Exeptionfehler.
Jetzt habe ich noch ein anderes Formular was mittels ShowModal() aufgerufen wird. Dieses Formular steht auch unter "Automatisch erzeugen" wird aber nicht beim starten angezeigt.
Gibst das irgendwelche Unterschiede zwischen den einzelnen Formularen?
Ich habe alle Codes getestet. Die sind Syntaktisch korrekt.
MFG
-
Musst du erst.. äh... dingsen. Mit "new" halt.

("Instanziieren"? Ach, egal.)
-
Tip: sieh dir an, wie im Standard-MDI-Projekt die neuen Fenster erzeugt werden.
-
Macht das der Compiler nicht automatisch? Diese Funktion habe ich noch nie benötigt, und es lief bisher immer. Naja, hatte bisher auch kein MDI-Project.
Ach ja, wenn ich ein MDI-Child direckt erstellen lasse, und dann nur 4 mal auf "Fenster maximieren" klicke, dann stürtzt das Programm ebenfalls mit einer Exeption ab. Es ist egal was für ein MDI-Child ich benutze. Die Fehlermeldung sagt, dass es sich um einen Pointer-Fehler handelt. Was könnte das sein?
-
Das MDI-Child ist nicht das Problem. Das Problem ist ein Standard-Formular welches mittels Show-Modal() in den Vordergrund gelegt wird. Dieses Fenster ist eine Eingabemaske für die Datenbank und beinhaltet die kompletten Routinen.
-
Ob MDIChild oder "normales" Fenster spielt hier keine Rolle. Wenn du das Fenster (d.h. die Instanz einer Klasse) nicht automatisch erzeugen lässt musst du es halt selbst machen, und dazu gehört nun mal new. Wenn du das Prinzip (noch) nicht verstanden hast solltest du dich nochmal eingehender mit den C++-Grundlagen beschäftigen.