Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   halt; und Application.terminate funktioniert nicht (https://www.delphipraxis.net/70154-halt%3B-und-application-terminate-funktioniert-nicht.html)

Obstfliege 25. Mai 2006 22:52


halt; und Application.terminate funktioniert nicht
 
Wie der Titel schon sagt funktioniert bei meinem Programm halt; und Application.terminate nicht.

Dies wird im OnThread (wenn der Thread seine Arbeit erledigt hat) aufgerufen.
Die Threads müssten destroyt sein da FreeOnTerminate:=True;

hat einer ne Ahnung was das sein könnte?

Dax 25. Mai 2006 23:10

Re: halt; und Application.terminate funktioniert nicht
 
Wird es denn überhaupt aufgerufen? Wenn du unsicher bist, setz mal nen Breakpoint und überprüfe das ;)

alzaimar 26. Mai 2006 07:03

Re: halt; und Application.terminate funktioniert nicht
 
Du kannst nicht erwarten, das deine Anwendung auf der Stelle stehen bleibt, nur weil Du Halt oder Application.Terminate aufrufst. Rufe in deinem OnThreadTerminate lieber "MainForm.Close" auf, das dürfte besser funktionieren. Wenn die Anwendung in einem untergeordneten Fenster beschließt, zu terminieren, musst Du das dem Hauptformular mitteilen.

Die innere Botschafsverarbeitungsschleife muss schließlich ordendlich verlassen werden. Außerdem solltest Du der Anwendung die Chance geben, ordendlich aufzuräumen.

Obstfliege 26. Mai 2006 13:39

Re: halt; und Application.terminate funktioniert nicht
 
Code:
procedure TMainForm.OnThread;
begin
  EdFile.Show;
  Progressbar.Hide;
  Link:=Receive;
  EdFile.Text:=Receive;
  if CopyToClipboardAfterParameterUpload then
    Clipboard.AsText:=Link;
  if CloseAfterParameterUpload and IsParameterUpload then
  begin
    halt;
    Application.Terminate;
  end;
end;

ich habe es mit einer showmessage getestet er geht in die if anweisung rein!
dort habe ich nun halt und Application.terminate ausprobiert und beides geht nicht.

alzaimar 26. Mai 2006 13:59

Re: halt; und Application.terminate funktioniert nicht
 
Versuche es mit Close. Wenn das Hauptfenster geschlossen wird, terminiert die Anwendung. Alles andere ist imho unsauber.

Obstfliege 31. Mai 2006 22:35

Re: halt; und Application.terminate funktioniert nicht
 
Lösung: Dies in OnThreadTerminate packen. Dann gehts...

Danke für eure Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 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