Besser ist es in so einem Fall folgendes zu verwenden:
Delphi-Quellcode:
procedure TFooThread.Execute;
begin
while not Terminated do
begin
Queue( MainForm.Method );
end;
end;
Die Ausführung der Methode wird in eine Warteschlange gestellt und der HauptThread führt diese dann aus, wenn er wieder Zeit dafür hat. Der Thread wird aber nicht mehr blockiert.
Meinst Du damit die Queue von einem 2. Thread abarbeiten zu lassen?
Oder ist das Queue(MainForm.Method) hier eine Methode welche ich noch nicht kenne?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.