PackMemory()-Bug?

Für allgemeine Fragen zur Programmierung mit PureBasic.
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

PackMemory()-Bug?

Beitrag 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
Zuletzt geändert von glubschi90 am 31.12.2004 01:06, insgesamt 1-mal geändert.
PureBasic 4.30
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag 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.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

Beitrag 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
PureBasic 4.30
Benutzeravatar
ChaOsKid
Beiträge: 66
Registriert: 29.08.2004 15:07
Wohnort: Oktoberfest

Beitrag 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
Zuletzt geändert von ChaOsKid am 31.12.2004 18:22, insgesamt 2-mal geändert.
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag 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:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Antworten