Einzelnen Beitrag anzeigen

Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#18

AW: VPHD - Virtual private hard-disc

  Alt 4. Jan 2012, 17:08
Danke

Aber ich muss noch dran arbeiten.

Auf meiner TODO-Liste steht vor allem noch ein wichtiger Punkt:

Das auslesen von Dateien soll noch besser realisiert werden. Vor allem ist es mein Ziel, eine Funktion zu schreiben, welche einen speziellen Stream zurückgibt, mit welchem man eine Datei Stück für Stück aus dem Archiv auslesen kann. Das ist nicht gerade einfach und bedarf noch einiger Anpassung. Was jedoch bisher möglich ist, ist das Stückweise Auslesen mittels der 3 Funktionen:
Delphi-Quellcode:
procedure ExtractFileStart(FileID: Integer); stdcall;
function ExtractFilePart(Dst: TStream; Count: Integer): Integer; stdcall;
function ExtractFilePartBuff(var Data; Count: Integer): Integer; stdcall;
procedure ExtractFileEnd; stdcall;
PS: Der nächste Punkt auf meiner TODO-Liste ist aktuell aber die Implementation einer Kommandozeile.
Ergebnisse sind in ca. einer Stunde zu erwarten, falls ich nicht ne Runde zocke xD

EDIT:
Eine kleine Bemerkung am Rande:
Ich habe im Laufe der Entwicklung auch eine extra Testanwendung geschrieben, welche die Library einem Stresstest unterzieht.
Dabei wurden tausende von Dateien kunterbunt hinzugefügt und gelöscht und dabei immer wieder die Datenintegrität (über Hashes der Zufallsdaten) geprüft.
Dadurch wurden alle Fehler beseitigt und die Sicherheit des Formates überprüft (also keine Memory-leaks bzw. Dateninkonsistenzen).
Außerdem habe ich dabei den gesamten Code auf höchste Performance optimiert.

EDIT #2:
Eine weitere Bemerkung:
Das ganze Projekt ist durch Nutzung der TNT-Unicode-Controls Unicode-fähig!
(Ist zwar ein etwas böser Hack, aber der Nutzen ist enorm ^^)
Ich würde die DLL ja gerne ohne diesen Hack kompilieren, doch leider habe ich nur Turbo Delphi.
Ich werde aber mal sehen ob ich zumindest für die DLL nicht eine bessere Lösung finde....
Jetzt wo ich so darüber nachdenke, würde es reichen, nur ein paar wenige Klassen und Methoden aus den TNT-units zu nehmen, anstatt gleich alles mit reinzunehmen...
Björn Zeutzheim
Codename: Performancepumpe

Geändert von olee ( 4. Jan 2012 um 17:21 Uhr)
  Mit Zitat antworten Zitat