Hallo zusammen,
Ich möchte eine Reihe von Bitmaps in eine AVI-Datei schreiben und diese dann komprimieren.
Ausgegangen bin ich dabei von obbschtkuche's Komponente, die in
hier verlinkt ist. Ich hab daraus statt einer Komponente einen normalen TObject-Nachfahren gemacht, ansonsten ist die Klasse gleich.
Dabei stoße ich auf 2 Fehler:
1. Wenn ich die Funktion CreateAVIFile innerhalb im Debugger ausgeführt wird, dann liefert die Funktion AVISaveOptions und die AVIMakeCompressedStream (wenn ich die AVISaveOptions auslasse und den Recorde für die Komprimieroptionen händisch füttere) jeweils eine
AV der Klasse C0000005. Wenn ich das Programm kompiliere und außerhalb der
IDE start, dann gibt es keine Fehler.
2. Wenn ein AVI geschrieben wurde und die TAVICreator Instanz nach Aufruf von CloseAVIFile zerstört wird, dann gibts auch eine
AV der Klasse C0000005. Wenn in CloseFile die Funktionsaufrufe von
Delphi-Quellcode:
AVIStreamRelease(ps);
AVIStreamRelease(ps_c);
AVIFileRelease(pfile);
weggelassen werden, dann gibts keinen Fehler. Allerdings gibts dann auch kein AVI.
Ich hab ein Demoprojekt angehängt, mit dem ihr diese Fehler hoffentlich nachvollziehen könnt.
Das Demoprogramm schreibt einfach abwechselnd die beiden Bitmaps in das Video.
Kann mir jemand mehr über diese Fehler sagen?
Google konnte das nicht.
grüße, daniel