Forum: Multimedia
by wicht,
14. Jan 2016
Funktioniert es denn mittlerweile, überhaupt irgendwie Daten auf die Festplatte zu speichern mit dem SaveToFile()? Die ganze Sache sieht ausserdem gefährlich aus, weil StatusProc() glaube ich nicht im Hauptthread läuft, der SaveToFile()-Aufruf aber schon. Du müsstest den Zugriff dann synchronisieren (siehe TCriticalSection).
procedure Kopieren(Stream_A, Stream_B: TMemoryStream);
begin
...
Forum: Multimedia
by wicht,
13. Jan 2016
Ja und ja :).
Wichtig ist, dass die Position vor jedem .Write() mit neuen Daten immer am Ende des Streams ist, sonst überschreibt .Write() Daten. Ich schreibe das hier extra, weil ich das schon ein paar Mal vergessen habe, und es dauern kann, den Fehler zu finden...
Forum: Multimedia
by wicht,
13. Jan 2016
Hi!
Mag sein, dass sie gesperrt ist, aber das liegt ja hier (zum Glück) in deiner Verantwortung, weil du den FileStream ja erstellst. Du könntest den Stream also so erstellen, dass die Datei nicht gesperrt ist, oder du machst deine Verarbeitung direkt in der StatusProc, was wohl sauberer wäre, hier ein Beispiel:
procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
var
...