Packerproblem

Anfängerfragen zum Programmieren mit PureBasic.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Packerproblem

Beitrag von delikanli_19_82 »

hallo leute,

ich habe ein program gebastelt, das eigene dokument-dateien erzeugt, in denen einstellungen und sonstige Dateien eigentlich gepackt werden. wenn man also einen entwurf in meinem programm speichert, so wird eigentlich eine komprimierte datei erstellt, in der alle entwurfssachen abgelegt werden.

doppelklickt man also auf die entwurfdatei, so wird dieser im hintergrund temporär entpackt und alle dateien in das program eingelesen.

das program ist nun windows und macintosh fähig. nun soll natürlich ein entwurf das zum beispiel unter windows erstellt wurde auch unter mac geladen werden können und auch umgekehrt.

scheinbar aber geht das nicht. der packer reagiert zwar und auch die menge der dateien wird korrekt erkannt nur diese werden nicht entpackt und die dateinamen können gar nicht oder nur fehlerhaft ermittelt werden. wieso?

hier ein beispiel:

Code: Alles auswählen

UseBriefLZPacker()

If OpenPack(0, pth)
  If ExaminePack(0)
    While NextPackEntry(0)
      fn = targetLoc + PackEntryName(0)
     UncompressPackFile(0,fn)
    Wend
  EndIf
  ClosePack(0)  
EndIf
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

Re: Packerproblem

Beitrag von ts-soft »

Das Beispiel ist leider nicht sehr hilfreich, wie wäre es, wenn Du uns so ein Pack zum Download bereit stellst?

Ansonsten erstmal mit Debug die Namen, Pfade und grösse überprüfen.
Angabe der benutzten Compileroptionen wäre evtl. auch hilfreich.

Gruß
Thomas
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
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: Packerproblem

Beitrag von delikanli_19_82 »

http://www.purebasic.fr/english/viewtop ... 45#p410445

ne also an den pfaden liegt es nicht. die werden sowohl auf dem mac als auch auf dem windows korrekt ermittelt.

ich meine wenn man nur unter windows eine packdatei erstellt und diesen auch wieder einliest ist alles ok. wenn man nur
unter mac eine packdatei erstellt und wieder einliest, so ist ebenfalls alles ok.

jetzt kommts. wenn man eine in windows erstellte packdatei unter mac laden will, oder eine in mac erstellte packdatei unter windows, dann gehts nich. warum?

die anwendung läuft im unicode-modus damit zum beispiel auch türkische oder sonstige pfad und dateinamen korrekt erkannt und genutzt werden können. außerdem ist die anwendung auch multilingual wie auch immer.

so wie ich das verstehe wird dem packer beim erstellen einer packdatei jede zu packende datei mit pfad angegeben und zu jeder datei gibt man nochmals ohne den vollen pfad einen dateinamen an. wenn man die datei entpackt, werden die enthaltenen dateien mit den angegebenen namen entpackt. da ist eigentlich kein problem mehr.

das einzige was ich mir erklären kann ist, das der packer möglicherweise unter windows andere steuerzeichen nutzt als unter mac, vielleicht wegen dem Dateisystem. und da ntfs und hpfs eben unterschiedlich sind, sind verchiedene steuerzeichen für den blockanfang und ende usw. zuständig oder sowas. das wäre mir zu mindest einleuchtend.

aber wirklich sinnvoll wäre das nicht, weil so etwas eigentlich nicht sein kann. packdateien müssten eigentlich Dateisystem unabhängig sein und eben dafür sorgen, das gepackte dateien, egal aus welcher quelle, auch wieder korrekt ausgepackt werden können.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Packerproblem

Beitrag von NicTheQuick »

Soweit ich mich erinnere, ist das schon ewig so, dass die Packroutinen zwischen Windows, Linux und Mac nicht kompatibel sind. Ich weiß auch nicht, warum Fred das Problem nicht mal löst. Weil eigentlich ist das bescheuert, dass da die Kompatibilität fehlt.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: Packerproblem

Beitrag von delikanli_19_82 »

das klingt nicht gut. heißt das denn, das auch andere packformate wie zum beispiel zip ebenfalls dasselbe problem zu folge haben.

das ist echt bescheuert. was kann man da machen, irgendeine idee?
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

Re: Packerproblem

Beitrag von ts-soft »

@NicTheQuick
Das Problem sollte mit den neuen Packer-Routinen gelöst sein, also ab PB5.10 :wink:

@delikanli_19_82
Wenn Du mal 2 gepackte Dateien irgendwo uploaden könntest (eine mit Mac und eine in Win gepackte),
dann könnte man das testen. Zwischen Win und Lin konnte ich bisher keine Probleme mehr feststellen,
jedenfalls seit PB5.10.
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
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Packerproblem

Beitrag von NicTheQuick »

ts-soft hat geschrieben:@NicTheQuick
Das Problem sollte mit den neuen Packer-Routinen gelöst sein, also ab PB5.10 :wink:
Ah, cool. Muss ich mir dann wohl mal merken für zukünftige Fragen diesen Typs. :D
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: Packerproblem

Beitrag von delikanli_19_82 »

ich nutze pb 5.10.

beispiele unter:

http://gonuldefterim.de/packertest/

zu finden.
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

Re: Packerproblem

Beitrag von ts-soft »

delikanli_19_82 hat geschrieben:ich nutze pb 5.10.
Dann nimm doch bitte die gefixte Version 5.11, dafür sind die Bugfixreleases ja da :wink:
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
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: Packerproblem

Beitrag von delikanli_19_82 »

gute ich probiere das dann sofort, und teil meine ergebnisse hier mit.
Antworten