Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Neues Form aus procedure... (https://www.delphipraxis.net/31620-neues-form-aus-procedure.html)

Leon de Bar 11. Okt 2004 22:41

Re: Neues Form aus procedure...
 
ähhh, 1. Frage was meinst du mit Delphi-[Tags]??? vor dem posten waren die einrückungen da.. danach nicht mehr...

2. frage...: habe ich das jetzt überlesen oder gibt es noch keine lösung für mein prob??? ich bin blind.

alcaeus 11. Okt 2004 22:53

Re: Neues Form aus procedure...
 
Hi Leon,

zu den Delphi-Tags: FAQ-Eintrag zum Stichwort "9""9"
Und zur Lösung: im OnCreate von Form1 hast du folgenden Aufruf:
Delphi-Quellcode:
DBCheck;
Dieser Aufruf muss ins OnShow. Der Grund dafür ist die Reihenfolge der Ereignisse. Zuerst werden alle Formulare erstellt, und anschließend das MainForm angezeigt. Die Reihenfolge sieht so aus:
Form1.OnCreate
Form2.OnCreate
Form1.OnShow
Beim Aufruf von Form1.OnCreate ist Form2 allerdings noch nicht erstellt, und du hast die Zugriffsverletzung: DBCheck will die Funktion DBerstellen aufrufen, welche wiederum Form2 anzeigen will, dieses gibts noch nicht und es kracht.

Greetz
alcaeus

Leon de Bar 11. Okt 2004 23:16

Re: Neues Form aus procedure...
 
okay, von der theorie habe ich das verstanden.

nur warum heißt das onCreate? und wie erzeuge ich onShow? oder muss ich sowas selbst schreiben? ich bin newbie und seit gut 7 tagen bei delphi... sorry.

kannst du mir die lösung an nem beispiel erläutern? oder vielleicht sogar wie ich bei mir machen könnte? thx.

alcaeus 11. Okt 2004 23:30

Re: Neues Form aus procedure...
 
Hi Leon,

es heißt onCreate, weil es beim Erstellen des Formulars ausgelöst wird. Hier spielt allerdings der zeitliche Ablauf eine Rolle.
Einen Handler für onShow kannst du im Objekt-Inspektor einfügen. Einfach das Formular auswählen, dann links unten im OI auf die Registerkarte "Ereignisse" klicken, onShow in der Liste suchen und einen Doppelklick ins leere Feld machen. In der leeren Prozedur fügst du dann DBCheck ein, vergiss aber nicht, es im OnCreate von Form1 wieder zu entfernen.

Greetz
alcaeus

Leon de Bar 11. Okt 2004 23:36

Re: Neues Form aus procedure...
 
:bounce1: DANKEEEEE!!! hat super geklappt. Thx!!!! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz