OpenPack() - Immer Rückgabe #True?

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
Kai
Beiträge: 264
Registriert: 29.09.2005 20:58
Computerausstattung: iMac 2019
Wohnort: Hannover
Kontaktdaten:

OpenPack() - Immer Rückgabe #True?

Beitrag von Kai »

OpenPack() gibt bei mir immer #True zurück,
und wenn ich dann ne Datei öffne, die kein Archiv ist,
gibt es erstma bei NextPackFile() nen Invalid Memory Acces.

Code: Alles auswählen

filepath$ = OpenFileRequester("Öffnen", "", "Alle Dateien|*.*", 0)

hPack.l = OpenPack(filepath$)

Debug hPack

If hPack
 unpackdir$ = GetHomeDirectory() + "Desktop\"
 adress.l   = NextPackFile()
 
 While adress <> 0
  size   = PackFileSize()
  
  nr + 1
  tmpfile.l = CreateFile(#PB_Any, unpackdir$ + Str(nr) + ".tmp")
   
   Debug Str(adress) + " - " + Str(size)
   
   WriteData(tmpfile, adress, size)
   CloseFile(tmpfile)
  
  adress = NextPackFile()
 Wend

 ClosePack()
Else
 MessageRequester("Fehler","Keine gültige Datei", #MB_OK|#MB_ICONERROR)
EndIf
Kann das wer bestätigen oder Mach ich was falsch?
Meine Homepage - Aktuelle Projekte - Launcher
Letzte PB-Version - Window 7 x86
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Das #True sagt nur aus, das die Datei erfolgreich geöffnet wurde, die
PackRoutinen in PB haben keinen extra Check.
Aus diesem Grunde gibts es auch verschiedene Routinen von GPI um dieses Manko zu beseitigen.

Findeste für PB4 im IncludePack:
http://www.purebasic.fr/german/viewtopi ... ncludepack

PackContainer_Include.pbi wäre zu empfehlen.

Ansonsten kann man unter Windows auch UDRes nehmen, was
Speicherfreundlicher ist, wobei die Dateien als Windows-Resource in die Exe
gepackt werden:
http://www.purebasic.fr/english/viewtopic.php?t=22610
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Wenn Du dir eine eigen Funktion zum check bauen willst. Checke doch einfach den HEADER der geöffneten datei. Und vergleiche die HEX Werte ( öffne mal ne .pak datei im hexeditor ) als ASCII steht in den Paks da "JCGal2" oder so.. ( habe imo keine pak datei zur hand ) - vergleiche einen solchen header mit der geöffneten Datei und du kannst mal davon ausgehen dass es sich um ein pak-archiv handelt.

Thalius
Benutzeravatar
Kai
Beiträge: 264
Registriert: 29.09.2005 20:58
Computerausstattung: iMac 2019
Wohnort: Hannover
Kontaktdaten:

Beitrag von Kai »

Joa danke, dann werd ich mal sehen wie ich das mache. :mrgreen:
Meine Homepage - Aktuelle Projekte - Launcher
Letzte PB-Version - Window 7 x86
Gesperrt