Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit Start Reihenfolge von Forms (https://www.delphipraxis.net/96887-problem-mit-start-reihenfolge-von-forms.html)

ascotlx 1. Aug 2007 10:38


Problem mit Start Reihenfolge von Forms
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo an alle,

ich habe da ein Problem mit dem Starten von Forms, bzw. der Reihenfolge
und bin echt am verzweifeln. :wall: :gruebel: :wall:
Ich finde auch nichts, was mir wirklich weiterhilft.

Ich habe ein Test Projekt beigefügt, vieleicht kann mir jemand helfen ...

Der Ablauf soll wie folgt aussehen.

Das Programm startet (Form1/Unit1)
Es wird überprüft, ob es eine bestimmte Datei gibt, wenn nicht
soll Form3/Unit3 gestartet werden, um diese Datei anzulegen und Werte
reinzuschreiben. Danach soll wieder auf das Form1/Unit1 gewechselt werden, damit
die Verarbeitung irgendwann ein paar Daten auf Form2 anzeigen kann.

Nur leider bekomme ich immer nur Fehlermeldungen (liegt als jpg bei), wenn ich Form3 aufrufe:

Delphi-Quellcode:
  if not FileExists('c:\tmp\log.txt') then
   Form3.show;
Danke

ascotlx

DeddyH 1. Aug 2007 10:45

Re: Problem mit Start Reihenfolge von Forms
 
Das Formular Form3 wird erst erzeugt, wenn Form1 vollständig erzeugt wurde. Daher kommt es zum Speicherzugriffsfehler, da zu diesem Zeitpunkt Form3 noch gar nicht angelegt wurde. Verleg den Aufruf doch mal von OnCreate nach OnShow.

s-off 1. Aug 2007 10:47

Re: Problem mit Start Reihenfolge von Forms
 
Hallo,

Du rufst
Delphi-Quellcode:
Form3.show;
im OnCreate-Event Deiner Mainform (Form1) auf - zu diesem Zeitpunkt existiert Form3 aber noch gar nicht, da sie laut Hierarchie erst nach Form1 und Form2 erzeugt wird.
Du darfst also erst auf Form3 zugreifen, wenn diese bereits erzeugt ist.

Probier es mal im OnShow-Event Deiner Mainform.

ascotlx 1. Aug 2007 13:24

Re: Problem mit Start Reihenfolge von Forms
 
Vielen Dank für die schnelle Hilfe... :thumb:

ich werd' es gleich ausprobieren.

ascotlx


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr.

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-2025 by Thomas Breitkreuz