Seite 1 von 2
Packerproblem
Verfasst: 10.04.2013 15:38
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
Re: Packerproblem
Verfasst: 10.04.2013 15:48
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
Re: Packerproblem
Verfasst: 10.04.2013 16:49
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.
Re: Packerproblem
Verfasst: 10.04.2013 17:00
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.
Re: Packerproblem
Verfasst: 10.04.2013 17:08
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?
Re: Packerproblem
Verfasst: 10.04.2013 17:09
von ts-soft
@NicTheQuick
Das Problem sollte mit den neuen Packer-Routinen gelöst sein, also ab PB5.10
@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.
Re: Packerproblem
Verfasst: 10.04.2013 17:17
von NicTheQuick
ts-soft hat geschrieben:@NicTheQuick
Das Problem sollte mit den neuen Packer-Routinen gelöst sein, also ab PB5.10

Ah, cool. Muss ich mir dann wohl mal merken für zukünftige Fragen diesen Typs.

Re: Packerproblem
Verfasst: 10.04.2013 17:21
von delikanli_19_82
ich nutze pb 5.10.
beispiele unter:
http://gonuldefterim.de/packertest/
zu finden.
Re: Packerproblem
Verfasst: 10.04.2013 17:27
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

Re: Packerproblem
Verfasst: 10.04.2013 17:31
von delikanli_19_82
gute ich probiere das dann sofort, und teil meine ergebnisse hier mit.