Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Anwendungsstart abbrechen ? (https://www.delphipraxis.net/33296-anwendungsstart-abbrechen.html)

Christof 4. Nov 2004 13:52


Anwendungsstart abbrechen ?
 
Hallo,

ich habe folgendes Problem:

Ich habe eine grössere Anwendung die beim Anwendungsstart diverse Datenbankverbindungen herstellt.
Diese Datenbänke sind in einem Datenmodul gekapselt und dort wird beim DataModulCreate diese auch hergestellt.

Wenn jetzt bei der Verbindung etwas schief geht dann wird eine Ausnahme ausgelösst.
Jetzt ist die Frage wie kann ich die Anwendung (wohl gemerkt diese befindet sich beim Starten "createn") sofort mit einer Fehlermeldung abrechen. D.h. die restlichen FormCreate werden nicht mehr ausgeführt.

Ich habe das mit einem try..except versucht (darin das Main Form geschlossen) ging auch aber erst nach der ganzen create Prozedur.

Wie kann ich direkt nach dem Fehler abbrechen?


Gru0
Christof

Jasocul 4. Nov 2004 13:55

Re: Anwendungsstart abbrechen ?
 
Ich habs zwar nicht ausprobiert, aber ich würde es so machen:
Delphi-Quellcode:
try
...
except
  Application.Terminate;
  Exit; // Falls das Terminate alleine nicht reicht
end;

Christof 4. Nov 2004 13:59

Re: Anwendungsstart abbrechen ?
 
Zitat:

Zitat von Jasocul
Ich habs zwar nicht ausprobiert, aber ich würde es so machen:
Delphi-Quellcode:
try
...
except
  Application.Terminate;
  Exit; // Falls das Terminate alleine nicht reicht
end;

Danke für die schnelle Antwort.

Aber in einem Datenmodul gibt es kein Application.Terminate.
Das gibt es nur bei Formularen!

alcaeus 4. Nov 2004 13:59

Re: Anwendungsstart abbrechen ?
 
Hi Christof,

guck mal in deine dpr-Datei. Dort werden zuerst ein oder mehrere Forms erstellt, und anschließend Application.Run ausgeführt. Zwischen den Application.CreateForm und dem Application.Run kannst du schon versuchen, die Datenbankverbindung herzustellen (du kannst auch die Kompos bereits ansprechen). Frag ab obs einen Fehler gab, und wenn nicht lässt du das Application.Run ausführen, andernfalls das Application.Terminate.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.

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