Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#14

AW: Bilder komprimieren und speichern mit Threads

  Alt 2. Mär 2011, 08:38
Erstmal danke fürs Drüberschauen!

1.) keine CS bei Append und Ende
Das kommt noch. Ich hatte es bereits drin, wollte aber wirklich jede mögliche Fehlerquelle für das beschriebene Phänomen ausschließen.

2.) in diesem Block
Delphi-Quellcode:
FThread.Append(Bild);
Sleep(250);// -> 4 Bilder / 1 Sek.
läuft der Thread ja bereits.....
Eben!
Auf meinem Rechner braucht er allein für das Umwandeln in png ca. 1 Sek/Bild. Er sollte an diese Stelle daher bereits genug zu tun haben, um noch während des Anfügens (Append(); )weiterer Bilder die bereits vorhandenen umzuwandeln.
Das macht er aber nicht, was ich wiederum nicht verstehe.

3.) wenn das:
Delphi-Quellcode:
Procedure TMainForm.RepeaterTimer(Sender: TObject);
Begin
   Repeater.Enabled:=False;
   ScannenClick(nil);
End;
ausgeführt wird, wird jedes mal eine neuer Thread losgetreten
Das ist ausdrücklich so gewollt!
Ich hatte ebenfalls bereits meine Code fürs Vergrößern/Verkleiner und/oder Drehen mit drin. Da erhielt ich hin und wieder - aber leider nicht wirklich reproduzierbar - eine EOutOfResources . Ich habe das Code-Fragment daher mal eine Weile ohne Benutzereingaben laufen lassen.
Man kann den Kreislauf ja jederzeit unterbrechen, indem man einfach den Haken rausnimmt. Dann hört der "Spuk" nach dem nächsten Thread-Ende auf!

Vielleicht schaut Sir Rufo mal drüber ....
Das wäre wirklich nett.

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat