Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Probleme mit Indy FTP in eigenem Thread

  Alt 20. Feb 2009, 21:14
Zu der letzten Frage: Du kannst im Thread hochzählen, und gucken ob der Wert erreicht ist. Wenn das der Fall ist, rufst du ein Event im Hauptthread auf, in dem das ausgeführt wird, was passieren soll.

Um eine Methode im MainThread auszuführen musst du synchronize() verwenden.

Also z.B.
Delphi-Quellcode:
TMyThread = class(TThread)
i : Integer;
MainForm: TForm1;
// ...

procedure TMyThread.Execute()
begin
while i <= 1000
begin
inc(i)
sleep(50)
if i = 400 then
  synchronize(Ausgabe);
end;
end;

procedure TMyThread.Ausgabe()
begin
MainForm.Label1.Caption := inttostr(i);
// oder
MainForm.DoSomething(i);
// oder
Mainform.DoSomething(Self);
end;
  Mit Zitat antworten Zitat