Hi Leute,
vorweg erstmal den Workaround :
Es geht um Bildübertragung und Anzeige der empfangenen Bilder!
Das Problem:
In einer alten Version meines Programms habe ich die empfangenen Bilder, in einem TImage innerhalb der Main-Form angezeigt.
Die Bilder habe ich innerhalb eines seperaten Threads empfangen und diese dann aus dem Thread in das Image gespielt :
Code:
(*
Thread holt Bild ....
Synchronize(PaintImage);
*)
procedure TVideoStreamThread.PaintImage;
begin
DrawImage.Picture.Assign(aktPic);
end;
Das lief alles wunderbar !
Jetzt in der neu Version meines Programms habe ich das Bild in eine seperate Form(nicht Main-Form) ausgelagert.
Wenn ich jetzt innerhalb meines Threads mit Syncronize arbeite steht alles.
Lasse ich es weg, läuft es sogar noch etwas schneller als in der alten Version.
Jetzt bekomm ich aber von einigen Beta-Tester, immer wieder Hinweise von sporadischen, aber doch sehr häufigen Fehlermeldungen, diese gehen von "Ungültige Zeigeroperation", über einfache "Zugriffsverletzungen" bishin zu "Abstrakten Fehlern".
Die Bildübertragung ist eigentlich exakt der gleiche Code wie in der vorgänger-Version, einziger Unterschied :
- Kein syncronite des PaintImage, weil Image nicht auf der Main-Form sitzt.
Ich hab das ganze jetzt auch mal durch Logfile nachvollziehen können, es knallt wirklich mit den oben genannten Fehlermeldungen immer im PaintImage.
Hat jemand ne Ahnung oder nur den Ansatz einer Idee, wo da der Hund begraben liegt ?
Thx Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.