Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Create von Kompos und Schleifen

  Alt 22. Sep 2005, 02:22
Jpeg und Threads... die Problematik kommt mir sehr bekannt vor - hatte ich vor einiger Zeit auch viel Last mit, und hab's letztlich aufgegeben, da das Programm nicht wirklich wichtig war.

Dass die 2. Variante besser klappt, könnte ich mir nur so erklären, dass evtl. TJPEGImage beim Assign und/oder Save GDI-Ressourcen anfordert, und nicht umgehend freigibt. Das wäre bei der 2. Version vermutlich über das Free erzwungen. (Das würde u.U. deine OutOfRessources Fehler im anderen Thread erklären.)
Was mir dabei jedoch schleierhaft ist: Warum tritt das nicht im Mainthread auf? Ich weiss nicht mehr wer es war, aber ich habe mal die Vermutung gelesen, dass die GDI in Teilen per se nicht Threadsafe ist, und es so zu Problemchen kommen könnte.
Irgendwie schwirrt mir etwas von "Unit Jpeg scheint nicht Threadsafe zu sein" im Kopf rum. Zwei mögliche Ansätze: Versuchen eine andere jpeg-lib zu bekommen (nicht einfach - ich habe keine brauchbare gefunden), oder aber die Teile mit jpegs synchronisieren . Bzw. wenn dein obiger (2.) Code geht, nimm ihn einfach . Ist zwar nicht die feine englische Art dauernd Objekte neu zu erstellen und wieder freizugeben, aber ich wüsste keinen spontanen Workaround.

Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat