Ich hab hier noch eine gute LZMA Implementierung gefunden die auch auf 7z basiert.
Der Unterschied ist, es wird/kann momentan im Beispiel nur eine Datei bearbeitet werden.
Die entstandene Datei entspricht der eines 7z Archiv (Dateigröße) aber es ist kein Archiv!
Also die entstandene Datei ist nicht kompatibel zu irgendeinem normalen entpack Programm,
du wolltest ja auf sicherheit hinaus, die wäre damit erstmal gegeben.
Ich würde diese Units mit der
zLib (die Delphi mit sich rumschleppt) kombinieren,
zLib's Archiv Funktionen mit der 7z LZMA Technik und schon hast du dein eigenes Format und bist total unabhängig von externen .dll Dateien, alles spielt sich in deinem Source ab.
In
zLib wird super beschrieben wie man sowas anstellt. (
zLib als Archiv Gerüst mit eigenem Kompressions-Motor)
Ansonsten kannst du ja mal in der LZMAalone.pas gucken ob dir da was mit deinem Problem weiterhelfen könnte.
Grüße und einen schönen Sonntag!
PS: Es handelt sich um 7z's LZMA v4.42b [LZMA (Pascal) 4.42 Copyright (c) 1999-2006 Igor Pavlov 2006-05-15]
Ich habe den Source lediglich um eine FreePascal deklaration erleichtert damit keine Fehler kommen.
(da war eine {$MODE DELPHI} direktive an der mein Compiler nicht vorbei kam.)