AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Anwendung beendet sich nicht (seit XE2)

Anwendung beendet sich nicht (seit XE2)

Ein Thema von Poolspieler · begonnen am 16. Okt 2011 · letzter Beitrag vom 13. Mai 2013
Antwort Antwort
Seite 2 von 2     12
Poolspieler

Registriert seit: 9. Aug 2004
156 Beiträge
 
Delphi XE7 Professional
 
#11

AW: Anwendung beendet sich nicht (seit XE2)

  Alt 13. Mai 2013, 16:27
Hallo,
wenn Du keine TThreadList hast, dann wirst Du ja wahrscheinlich im onClose-Ereignis des Hauptfensters Deine Threads (oder die Klasse drüber) freigeben.
Und dort wirst Du ja sowas wie:
Code:
meinThread.free;
aufrufen.
--> Und die destroy-Routine wartet so lange, bis der Thread beendet ist.
Und im Thread steht ja wahrscheinlich sowas in der Art:
Code:
procedure TmeinThread.Execute;
begin
  inherited;
  while not Terminated do begin
    if signal_mach_was then begin
      // hier wird irgendwas gemacht --> und wenn das zu lange dauert --> dann hängt Deine Anwendung beim Schließen...
    end;
    sleep(1);
  end;
end;
.Free ruft .destroy auf.
In der Delphi-Hilfe steht zu .destroy:
Zitat:
Gibt das Thread-Objekt frei.
Rufen Sie Destroy in einer Anwendung nicht direkt auf. Verwenden Sie stattdessen Free zur Freigabe eines Threads, wenn die Eigenschaft FreeOnTerminate den Wert false hat.
Destroy veranlasst die Beendigung des Threads und wartet auf eine entsprechende Bestätigung. Danach wird die geerbte Methode Destroy aufgerufen.
Interessant dürfte vor allem der letzte Satz für Dich sein...



Viele Grüße,

Poolspieler
Andreas
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
4.725 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Anwendung beendet sich nicht (seit XE2)

  Alt 13. Mai 2013, 16:50
Hier mal zum Thema, den Thread nach einer Wartezeit dann mit Gewalt zu beenden falls er es nicht von alleine tut: http://www.delphipraxis.net/173890-w...gewaltsam.html
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2018 by Daniel R. Wolf