Thema: Delphi Fragen zu Threads

Einzelnen Beitrag anzeigen

Chris.R

Registriert seit: 8. Sep 2009
Ort: Nürnberg
68 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Fragen zu Threads

  Alt 8. Okt 2009, 16:12
Hallo,

zu erstens: Richtig, du musst auch Events über Synchronize aufrufen, wenn sie außerhalb des Threads verarbeitet werden,
da ein Event nichts anderes ist, als ein Methodenaufruf.

zu zweitens: Wenn du die StringList erstellst, bevor der Thread startet (also CreateSuspended = true) und der Thread dann die StringList wieder frei gibt,
kein Problem.

Das kannst du dann aber auch so lösen:

Delphi-Quellcode:
TTestThread = class(TThread)
protected

public
  constructor Create; virtual;
  destructor Destroy; override;
  property SL: TStringList read FSL;
end;

constructor TTestThread.Create;
begin
  Inherited Create(true);
  FSL := TStringList.Create;
end;

destructor TTestThread.Destroy;
begin
  FSL.Free;
  Inherited;
end;

// und so die Benutzung
procedure TForm1.erstelleListe();
var pThread: TTestThread;
begin
  pThread := TTestThread.Create;
  pThread.FreeOnTerminate := true;

  pThread.SL.Add('Test');
  pThread.SL.Add('1234');

  pThread.Resume;
end;
Ciao Chris
  Mit Zitat antworten Zitat