Zitat von
janjan:
..
Delphi-Quellcode:
procedure TForm1.SpeicherTimerTimer(Sender: TObject);
begin
MemoryStream.SaveToStream(DateiStream);
MemoryStream.Clear;
end;
....
Kann es passieren, das ich Daten 'verpasse' wenn sie zufällig genau zwischen dem SaveToStream und dem Clear eintreffen und in MemoryStream gespeichert werden?
...
Hai JanJan,
ich gehe mal davon aus das folgendes passiert.
1. Du schreibst den Stream in eine Datei.
2. Während er geschrieben wird kommen neue Daten in den Stream
3. Da Du nach dem Speichern den Stream löschst sind die Daten die
während des speicherns hinzugekommen sind futsch.
Eine mögliche lösung wäre eventuell mit zwei Streams zu arbeiten.
1. aktueller Stream = Stream1
2. Daten werden in Stream 1 geschrieben
3. Vor dem Speichern: aktueller Stream = Stream2
4. Daten werden jetzt in Stream 2 geschrieben
5. Stream 1 speichern.
usw.
Stephan B.
"Lasst den Gänsen ihre Füßchen"