Das war mein Hinweis.theo hat geschrieben:Wieso machst du das überhaupt in einem extra Thread?
Ein Application.Processmessages in
while P.Running do
würde es vielleicht auch tun. Oder hab ich da was nicht verstanden?
Und ich bleib dabei, da gehört theoretisch nen Thread rein, weil der sich dabei denk ich lonht und wesentlich eleganter ist, als ProcessMessage, schon, weil man so weiter parallel arbeiten kann.
Und wennn, denk ich, sollte der gleich rei und nicht erst irgendwann nachträglich.
Und was das problem angeht - Pluto, beis dich mal durch, und mach jetzt nicht alles wieder anders, nur weil das eine nicht geht.
Du hast das Beispiel, und da ruft sich nichts mehrfach auf. Vergleich halt mal mein Beispiel, für was ich fast meine Hand ins Feuer leg, mit deinem Code.
Das einzige, was mir dazu einfällt, wäre, dass du in der mit Synchronized aufgerufenen Procedure Procedure direkt deine Ausgabe hast.
Code: Alles auswählen
procedure TBackupThread.Progress;
begin
Form1.Memo1.Lines.Add(Status);
end;
//Schnuller ist mir dazwischen gekommen, der Originalcode bzw. so leicht modifiziert wie im Beispiel läuft wunderbar und das unter Linux und Windows, daran kann es eigentlich nicht liegen, bzw. Pluto hat das falsche verändert
