AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Application beenden vor erstem Erzeugen von Form
Thema durchsuchen
Ansicht
Themen-Optionen

Application beenden vor erstem Erzeugen von Form

Ein Thema von RalfSi · begonnen am 6. Jun 2012 · letzter Beitrag vom 7. Jun 2012
Antwort Antwort
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#1

AW: Application beenden vor erstem Erzeugen von Form

  Alt 6. Jun 2012, 22:58
Wollte gerade sagen, wenn ein Prozess terminiert wird, gibt Windows alle Ressourcen frei und schließt alle offenen Handles.
Sollte es.

Aber wer weiß, wie Windows 1337 mit Ressourcen umgeht? Oder ReactOS? Oder WINE?
Im besten Fall werden die sich an die API Dokumentation halten.

Also sollte man zumindest dafür sorgen, dass sich zumindest der Code, den man selbst kontrolliert, sich entsprechend der Spezifikation verhält.
Dabei kann er auch auf geringe Abweichung von der Spezifikation in den nicht kontrollierten Komponenten behandeln (vgl. strikte Sender und relaxte Empfänger in Netzwerk-Protokollen).


PS: Das ist allgemein gemeint, also direkt nicht an Luckie gerichtet. Das Zitat ist nur der Aufhänger.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.583 Beiträge
 
Delphi 12 Athens
 
#2

AW: Application beenden vor erstem Erzeugen von Form

  Alt 7. Jun 2012, 08:00
Die Message-Queue wird nicht zerstört ... sie wird einfach nur nicht mehr abgearbeitet, was Delphi in Application.Run und Application.ProgressMessages macht.

Konsolenanwendungen kommen ohne Message-Queue aus, da sie standardmäßig nichts mit "Fenstern" Machen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Application beenden vor erstem Erzeugen von Form

  Alt 7. Jun 2012, 10:25
Hallo,

Zitat:
Wenn ich feststelle, dass die Datei nicht vorhanden ist, soll CreateForm nicht aufgerufen und das Programm gleich beendet werden.
Was soll das für ein Vorteil bringen, ohne den Benutzer zu informieren, dass noch eine bestimmte Datei fehlt, das Programm ohne weiteren Kommentar zu beenden. Besser ist es doch das Form zu zeigen eine Fehlermeldung anzuzeigen und dann das Programm, ohne Klimmzüge sauber zu beenden.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Application beenden vor erstem Erzeugen von Form

  Alt 7. Jun 2012, 11:18
Hallo,

Zitat:
Wenn ich feststelle, dass die Datei nicht vorhanden ist, soll CreateForm nicht aufgerufen und das Programm gleich beendet werden.
Was soll das für ein Vorteil bringen, ohne den Benutzer zu informieren, dass noch eine bestimmte Datei fehlt, das Programm ohne weiteren Kommentar zu beenden. Besser ist es doch das Form zu zeigen eine Fehlermeldung anzuzeigen und dann das Programm, ohne Klimmzüge sauber zu beenden.

Bis bald Chemiker
Ich möchte für diesen Beitrag einen "Gefällt mir"-Button.
Status:
- FIAE
- Rechteinhaberin, ein Rüsselmops sein zu wollen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Application beenden vor erstem Erzeugen von Form

  Alt 7. Jun 2012, 12:57
So sollte das sauber sein (unabhängig davon, ob das user-friendly oder sinnvoll ist)
Delphi-Quellcode:
if not SomethingMissing then
begin
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
end;
Denn jetzt verhält sich die Anwendung wie eine Konsolen-Anwendung, wenn die Anfangsbedingung nicht zutrifft.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.583 Beiträge
 
Delphi 12 Athens
 
#6

AW: Application beenden vor erstem Erzeugen von Form

  Alt 7. Jun 2012, 14:03
Und der Rest ist ja auch nicht schwer:
Delphi-Quellcode:
end
else
  MessageBox(0, 'da fehlt irgendwas', PChar(ExtractFileName(ParamStr(0))), MB_OK or MB_ICONERROR);
Delphi-Quellcode:
end
else
  MessageBox(0, PChar('da fehlt ' + Fehlendes), PChar(ExtractFileName(ParamStr(0))), MB_OK or MB_ICONERROR);
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Application beenden vor erstem Erzeugen von Form

  Alt 7. Jun 2012, 14:36
einen hab ich noch
Delphi-Quellcode:
if 1=0 then
  begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm2, Form2);
  Application.Run;
  end
else
  begin
      if Windows.AllocConsole then
      try
        WriteLn('Shit happens ...');
        write('> ');
        readln;
      finally
        FreeConsole;
      end;

  end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 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