AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Allgemeine Fragen zu Threads

Ein Thema von norwegen60 · begonnen am 25. Jan 2017 · letzter Beitrag vom 25. Jan 2017
 
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
989 Beiträge
 
Delphi 6 Professional
 
#7

AW: Allgemeine Fragen zu Theads

  Alt 25. Jan 2017, 13:54
Hmmm..

Damit deine Thread-Variable auf nil gesetzt wird, brauchst Du so etwas:

( Und wieso die Globale Variable 'MyThread', obwohl nur innerhalb der Form darauf zugegriffen wird !!)
Delphi-Quellcode:
  TForm1 = class(TForm)
    ...
    procedure Button2Click(Sender: TObject);
  private
    procedure OnMyThreadTerminate(Sender: TObject);
  protected
    MyThread : TMyThread;
  public
    { Public-Deklarationen }
  end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  if assigned(MyThread) then
  begin
    MyThread.Terminate; // Setzt MyThread nicht auf NIL, d.h. nächster Button2Click führt wieder in diesn Block
    Button2.Enabled := false; // Erst benutzbar machen, wenn Thread wirklich weg!
  end
  else
  begin
    Button2.Caption := 'Terminate Thread';
    MyThread := TMyThread.Create(true); // Create suspended--secondProcess does not run yet.
    MyThread.FreeOnTerminate := true; // You do not need to clean up after termination.

    MyThread.OnTerminate := OnMyThreadTerminate; // Damit die Form benachrichtigt wird !!!!

    MyThread.SleepTime := SpinEdit1.Value;
    MyThread.Resume; // Now run the thread.
  end;
end;

procedure TForm1.OnMyThreadTerminate(Sender: TObject);
begin
  if Sender = MyThread then begin
    MyThread := nil; // Nur nil, Free macht er selber!
    Button2.Caption := 'Start Thread';
    Button2.Enabled := true; // Erst benutzbar machen, wenn Thread wirklich weg!
  end;
end;
  Mit Zitat antworten Zitat
 


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 21:40 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