Ich hab ein kleines Problem mit den Packer-Funktionen.
Wenn ich in meinem Fenster unter "Neu..." eine neue Packer-Datei erstelle und dann auf "Datei hinzufügen..." klicke kommt immer eine Fehlermeldung in der ERSTEN Zeile
Kann mit jemand helfen

Folgenden Code hab ich gemacht:
Code: Alles auswählen
file.s ; Für irgendeinen Dateinamen
string.s
long.l
CURRENTFILE.s ; Das aktuelle DPAK-File
Enumeration
#Button_New
#Button_Open
#Button_Save
#Button_Add
#List_Pack
EndEnumeration
Procedure ReadAllPackedFiles()
Repeat
hMem = NextPackFile()
If hMem
size = PackFileSize()
AddGadgetItem(#List_Pack,-1,PeekS(hMem))
EndIf
Until hMem = 0
EndProcedure
Procedure Error(txt.s)
MessageRequester("Fehler",txt+"!",16)
EndProcedure
#Flags = #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget
Global hWnd = OpenWindow(0,0,0,600,400,"Daniel's Packer\1.0",#Flags)
CreateGadgetList(hWnd)
ButtonGadget(#Button_New,10,10,100,24,"Neu")
ButtonGadget(#Button_Open,10,40,100,24,"Öffnen...")
ButtonGadget(#Button_Save,10,70,100,24,"Speichern unter...")
ButtonGadget(#Button_Add,10,120,100,40,"Dateien hinzufügen...",#PB_Button_MultiLine)
ListIconGadget(#List_Pack,120,10,470,380,"Dateiname",150)
Repeat
EventID = WaitWindowEvent(50)
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_New
string = SaveFileRequester("Neues Komprimiertes Verzeichnis erstellen","","Mit Packer komprimierte Verzeichnisse (*.dpak)|*.dpak",0)
If Right(string,5) <> ".dpak"
string + ".dpak"
EndIf
If string
If CreatePack(string)
CURRENTFILE = string
ClosePack()
Else
CURRENTFILE = ""
Error("Das Verzeichnis kann nicht erstellt werden")
EndIf
EndIf
Case #Button_Open
string = OpenFileRequester("Komprimiertes Verzeichnis auswählen","","Mit Packer komprimierte Verzeichnisse (*.dpak)|*.dpak",0)
If string
If OpenPack(string)
CURRENTFILE = string
ReadAllPackedFiles()
ClosePack()
Else
CURRENTFILE = ""
Error("Die Datei kann nicht geöffnet werden")
EndIf
EndIf
Case #Button_Add
file = OpenFileRequester("Datei hinzufügen","","Alle Dateien|*.*",0)
If file
If CURRENTFILE
If OpenPack(CURRENTFILE)
AddPackMemory(@file,Len(file),9)
AddPackFile(file,9)
ClosePack()
Else
CURRENTFILE = ""
Error("Die Datei kann nicht hinzugefügt werden")
EndIf
Else
Error("Es ist kein Verzeichnis aktiv")
EndIf
EndIf
EndSelect
EndIf
Until EventID = 16