Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by s.h.a.r.k,
20. Jul 2011
Ohwei, ohwei... mein Projekt war totaler Käse, werde es jetzt dann gleich aktualisieren :wall: Jetzt habe ich auch langsam kapiert, was du mit einem nicht-dekomprimierbaren Block gemeint hast. Ich habe ja lauter komprimierter Blöcke geschrieben und nicht einen ganzen zusammenhängenden, daher hat das auslesen nie so recht geklappt.
Daher funktioniert CopyFrom auch leider nicht, zumindest nicht,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by s.h.a.r.k,
19. Jul 2011
Bin auch sehr dankbar dafür :thumb: Schon viel zu lange vor dem Problem gesessen und über Tante Google nicht so wirklich was dazu gefunden gehabt.
Strange, jetzt klappts auch mit dem Puffer :shock: Hatte vorher wohl irgendwo anders einen Fehler... Wäre jetzt nur zu interessant wo genau der denn war... Anbei jedenfalls mal eine funktionierende Demo.
-- EDIT: Projekt aktualisiert. Nun ists...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by s.h.a.r.k,
19. Jul 2011
Hast mein Edit gesehen? Kann die Test-App nochmals schnell auf den fehlerhaften Code umbauen. Hatte nur die Pufferung umgstrickt, schon hats geklappt. Einen Moment...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by s.h.a.r.k,
19. Jul 2011
Ich hab noch nie mit Streams gearbeitet :stupid: Vielleicht ist meine Frage bzw. der Code daher auch eher dumm. Das kann ich leider schlecht beurteilen. Daher kann ich das CopyFrom(..., 0) auch nicht.
Kann ich voll und ganz nachvollziehen und gebe dir da auch recht. Ich will halt keine korrupte Datei. Daher das ständige öffnen und schließen.
Muss mich dies bzgl einfach mal einlesen bzw....
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by s.h.a.r.k,
19. Jul 2011
Das hatte ich mir auch schon überlegt, aber was passiert, wenn die Anwendung zwischendrin komplette krepiert? Habe ich dann nicht eine korrupte Datei, wenn der Stream nicht sauber geschlossen wird? Sind dann auch wirklich alle Daten geschrieben?
Das gleiche Problem habe ich dann aber auch, wenn die Datei weiter beschrieben werden soll.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by s.h.a.r.k,
19. Jul 2011
Irgendwie hatte ich schon geahnt, dass sowas kommt :mrgreen: Das Problem ist, dass ich die Log-Meldungen aber instant wegschreiben will bzw. muss, da das Programm ja abschmieren kann und meine Log-Komponenten nicht dann ja nicht mehr unbedingt schreiben kann. Muss mir mal eine Test-App basteln...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by s.h.a.r.k,
19. Jul 2011
Ich schreibe im Moment ja an meiner Log-Komponente und habe da ein Modul, welches die Datein in ein binäres Format schreibt. Hier mal ein Auszug, was passiert, wenn eine neue Log-Meldung ansteht, die über einen Thread geschrieben wird -- wir gehen mal davon aus, dass die Log-Datei schon existiert:
try
Stream := TFileStream.Create(Filename, fmOpenWrite, fmShareDenyWrite);
Stream.Seek(0,...