Einzelnen Beitrag anzeigen

Mschmidt

Registriert seit: 4. Jul 2010
Ort: Berlin
62 Beiträge
 
Delphi XE2 Professional
 
#5

AW: TThread und Rückgabe an Formular

  Alt 19. Jun 2014, 13:53
Ich verwende dazu Methodenaufrufe:

Delphi-Quellcode:
type
  TMainProc = procedure (<Parameter>) of object;

type
  TMain = Class(TForm)
...
  procedure Aktualisiere(<Parameter>);
...
  procedure StartThread;
end;

Type
  TMeinThread = Class(TThread)
  fMainProc :TMainProc;
  procedure Execute;
  constructor Create(MainProc:TMainProc);
end;

Constructor TMeinThread.Create;
begin
  ...
  fMainProc:= MainProc;
...
end;

procedure TMeinThread.Execute;
begin
  while not terminated do begin
  if (<Zähler>) and (assigned(fMainProc)) then
    synchronize ( begin fMainProc(<Parameter>)end;); // anonyme Methode
  ...
end;

procedure TMain.StartThread;
begin
  TMeinThread.create(Aktualisiere);
  ...
end;

procedure TMain.Aktualisiere(<Parameter>);
begin
  // dieser code wird aus dem Thread aufgerufen
...
end;
grüsse Mschmidt
  Mit Zitat antworten Zitat