Packer-Problem

Fragen und Bugreports zur PureBasic 4.0-Beta.
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Packer-Problem

Beitrag von Jilocasin »

Hallo Leute!

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 :cry:

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



Bild
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Packer-Problem

Beitrag von Kiffi »

> Kann mit jemand helfen :cry:

also ich bekomme keinen Fehler.

> kommt immer eine Fehlermeldung in der ERSTEN Zeile

wie lautet die Fehlermeldung?

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Codepage umstellen ?
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

-> "Invalid Memory Access"

Aber was ich am meisten komisch finde, dass er eben als Fehler die erste Zeile markiert. DA ISS DOCH GAR NIX :freak: :?

Ich hab mich vertan. Mann muss "Neu", dann diese Datei "Öffnen". Wenn man längere Zeit IN diesem FileRequester drin bleibt kommt bei mir der Fehler. Das muss also heißen dass irgendwo eine zufällige Kollision stattfindet und nicht PB verantwortlich ist ... nur wo? :bluescreen:
Bild
Gesperrt