Autor Beitrag
Shoo
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 17.12.06 18:49 
Hallo,

ich habe folgendes Problem:

Beim start meiner 1. Form soll eine Routine ein vorhandensein einer Datei prüfen. Liefert diese rotiene "false" so soll eine 2. Form geöffnet werden. Das Problem dabei ist, dass dies alles beim form.create() der 1. Form geschehen soll. Allem Anschein nach, kann man aber beim create() der ersten form die zweite nicht starten, zB mit showModal. Überall anderes funktioniert meine Checkroutiene, nur nicht wenn ich sie in form1.create aufrufe, dabei erhalte ich immer eine exception (adresszugriffverletzung).

Wie kann ich dieses Problem lösen ? Danke schonmal !


Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 17.12.2006 um 19:08
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: So 17.12.06 18:53 
kann es sein, das Form2 noch nicht erzeugt ist ?

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 17.12.06 18:55 
Hallo und :welcome: in der Entwickler-Ecke!

Das funktioniert so nicht, weil zu dem Zeitpunkt, an dem Form1 erstellt wird, ist in aller Regel Form2 noch nicht vorhanden - daher gibts dann eine Zugriffsverletzung.

Das kann man umgehen, indem man entweder die Form2 erst im OnShow von Form1 anzeigen lässt, oder man lässt Form2 vor Form1 erzeugen (in der Projektdatei (.dpr) die Zeilen tauschen), oder man lässt Form2 generell nicht automatisch erzeugen, sondern erzeugt sie manuell nur dann, wenn sie auch gebraucht wird, und zerstört sie hinterher wieder.

_________________
We are, we were and will not be.
Shoo Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 17.12.06 18:59 
Perfekt, so klappt es bestens. Danke !!!