Wenn z.B. in der Methode "onE" eine Zeile: "Form1.Memo1.Lines.Clear;" vorkommt, dann schreib dir dafür eine eigene Methode - z.B.:
Delphi-Quellcode:
procedure TMyThread.ClearLines;
begin
Form1.Memo1.Lines.Clear;
end;
und in der Methode "onE" dann aufrufen mit:
Delphi-Quellcode:
procedure TMyThread.onE;
begin
.
.
Synchronized(ClearLines); // an Stelle von Form1.Memo1.Lines.Clear;
.
.
end;
Das Problem ist, dass du in deinem Thread ja NUR die Methode "onE" ausführst, und wenn diese dann komplett Synchronized ausgeführt wird, dann wird dein 2. Thread vollständig im Hauptthread ausgeführt, was man ja gerade mit Threads verhindern will. Also sollte an so wenig Stellen wie möglich Synchronized werden.
Zeig doch wenn es noch nicht klar ist die "onE" - evtl. kann man's am konkreten Bsp. besser erklären.
dizzy
\\edits: Schlechtschreibdinger...
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel