Seite 1 von 1

PackMemory()-Bug?

Verfasst: 31.12.2004 00:31
von glubschi90
Hi Leute!

Ich hab' ein Packprogramm geschrieben, welches selbstentpackende Archive erstellen kann. Ich wollte aber nicht, dass erst eine Tempdatei erstellt wird und diese dann an die Exe angehängt wird. Darum erweitere ich die Exe direkt (ohne Zwischenspeichern auf der Platte) mit den Daten und muss demzufolge Pack- bzw UnpackMemory() benutzen.
Jetzt das Problem: Bei vielen Dateienn wie z.B. ZIP, JPG, AVI uvm. gibt die Pack Procedure 0 zurück. Bei manchen Dateien funzt es aber. Ich weiß bis jetzt, dass das Packen von .bmp, txt, doc (usw) funktioniert.
Was abver komisch ist: Mit AddpackFile() geht alles!!! Da gibt's keine Probleme... könnte das vielleicht ein Bug sein??? :|

Vielen Dank im Vor (oh, Gott, was hat freedimension das letzte mal geschrieben???) ... öhm... was solls, ich schreibs jetzt halt mal so...

Vielen Dank im Voraus! <)
Christian

Verfasst: 31.12.2004 00:38
von GPI
nein kein Bug. Wenn du eine gepackte Datei packst, dann wird sie in der Regel größer. Deshalb gibt es bei den Memory-Pack-Routinen den wert 0 (steht sogar in anleitung, wenn ich mich nicht irre).
Das bedeutet einfach: Benutzt die unkomprimierte Fassung, ist kleiner.

AddpackFile() wird vermutlich auch die unkomprimierten Dateien übernehmen. Oder es wird gewaltsam gepackt, auch wenn das Ergebnis größer ist.

Verfasst: 31.12.2004 00:41
von glubschi90
... Aha ...
Und warum funktioniert's dann bei manchen MP3s und bei manchen nicht?
Das bedeutet einfach: Benutzt die unkomprimierte Fassung, ist kleiner.
Äh... Ich versteh' nicht ganz was du meinst.

EDIT:
Hab in der Hilfe nix über das Komprimieren von Zips gesehen.

EDIT2
Ich habe das Prog mal hochgeladen, damit ihr testen könnt, ob und vor allem welche Dateien bei euch finzen. :)
Eine Kleinigkeit noch:
Man kann bis jetzt noch keine Archive Bearbeiten und die Archive m können bis jetzt nur in den Ordner entpackt werden, in dem sie geöffnet werden. Das mache ich noch alles. <) )

http://people.freenet.de/c_soft/pureboa ... r_Beta.exe
(Ist kein Virus, hab's nur mit meinem eigenen Prog gepackt! :wink: )

Ich hafte für keinerlei Schäden! :wink:
(Hab' aber fleißig getestet und sollte ohne Probleme funktionieren) :D

Verfasst: 31.12.2004 18:12
von ChaOsKid
hi glubschi90,

leider funktioniert der link zum programm bei mir nicht..
Und warum funktioniert's dann bei manchen MP3s und bei manchen nicht?
ich schätze das mache mp3's einen grossen header (id tag) haben
den kann mann dann wieder etwas komprimieren

wie reagiert AddPackMemory() wenn du bei diesen dateien KompressionsLevel 0 verwendest ?

@GPI
Deshalb gibt es bei den Memory-Pack-Routinen den wert 0 (steht sogar in anleitung, wenn ich mich nicht irre).
in der anleitung steht nix über das Ergebnis von AddPackMemory()
oder ich bin blind ;)

edit:
@Andre
coole sache ! thx ;)

mfG
Tobi

Verfasst: 31.12.2004 18:19
von Andre
ChaOsKid hat geschrieben:@GPI
Deshalb gibt es bei den Memory-Pack-Routinen den wert 0 (steht sogar in anleitung, wenn ich mich nicht irre).
in der anleitung steht nix über das Ergebnis von AddPackMemory()
oder ich bin blind ;)
Dann werde ich es mal noch hinzufügen.... :wink: