Seite 1 von 2

3.30 Packer problem

Verfasst: 11.05.2008 15:24
von 403
hi,
wenn ich mit CreatePackFile() eine datei erstelle und mit AddPackFile() eine Datei hinzufügen will, bleibt die Datei 0 Byte groß, egal was für eine Datei hinzufügen will. Warum ist das so und wie kann ich das ändern?

Verfasst: 11.05.2008 15:37
von edel
Auch nach dem schliessen der Datei ?

Verfasst: 11.05.2008 15:41
von xperience2003
kannst mal sehen, wie gut der packer ist ^^

spass bei seite
wird denn das file gefunden?

Code: Alles auswählen

 CreatePack("packed.dat") 
    AddPackFile("deinfile.bmp") 
 ClosePack() 

Verfasst: 11.05.2008 15:48
von ts-soft
@xperience2003
Die fehlenden If sind nicht gut, weil so findet man die Fehler nicht :wink:

@403
Immer Prüfen, dann weiß man meist auch woran es liegt.
Code?
Was für Dateien?

Der Packer hat Probleme bei bereits gepackten Dateiformaten:
png, zip, rar usw. und das Pack bleibt dann leer! Jedenfalls war es bei
älteren Versionen so. Merkt man, wenn AddPackFile() 0 zurückgibt!

Gruß
der Hellseher (wo ist der Code :mrgreen: )

Verfasst: 11.05.2008 15:52
von 403
@ edel
ja, auch danach

@xperience2003

Code: Alles auswählen

CreatePack("pack.pbp")
    inputad$ = OpenFileRequester("Ad File","","*.*",0)
     AddPackFile(inputad$)
ClosePack()

Verfasst: 11.05.2008 15:56
von 403
ich hab s schon mit .exe;.jpg;.bmp;.txt versucht. manchmal gibt er Result==0 zurück, manchmal Result<>0.

Verfasst: 11.05.2008 16:06
von STARGÅTE
ich glaube in 3.3 war das Packen bei Files verbugt, das heißt es wäre besser:

Du lädts die Datei erst in Memory und packst dann den Memory und dann schreibst du es in deine eigene Packdatei.

Verfasst: 11.05.2008 16:36
von 403
sry die frage, bin noch n newbie:
Wie geht das??

Verfasst: 11.05.2008 16:52
von ts-soft
403 hat geschrieben:sry die frage, bin noch n newbie:
Wie geht das??
Hier mal für PB 4.xx, mußte also noch anpassen.
Ungetested, nur zur Orientierung!

Code: Alles auswählen

If OpenFile(0, bla.s)
  Size.l = Lof(0)
  Mem = AllocateMemory(Size)
  ReadData(0, Mem, Size)
  CloseFile(0)
  
  If CreatePack("meinPack.dat")
    If AddPackMemory(Mem, Size)
      FreeMemory(Mem)
    EndIf
    ClosePack()
  EndIf
EndIf
PS: Als newbee solltest Du auch im Anfängerforum posten :wink:

Verfasst: 11.05.2008 17:07
von 403
thx