da es mein erster post ist, ein paar Kleinigkeiten zu mir(siehe am Ende des Beitrags).
Nach (langer) Sucherei fand ich endlich o.g. unit unzip (NICHT die in PasZlib !)
( zipFileAndDirCount := FileUnzipEx(PChar(UTF8ToSys(SrcFilePath)), PChar(UTF8ToSys(DstPath)), '*.*'); )
leider stürzte die unit immer mit einem SIGSEGV ab, wenn ich ein Archiv mit langen Verzeichnis-Namen(>80 Zeichen) entpacken wollte!..
ich meine den Fehler gefunden zu haben(!)
und zwar eine ARRAY-Definiton in der UnzipFile()-Funktion:
Code: Alles auswählen
//this is it ! changed by lichtwicht!
// buf : ARRAY [ 0..80 ] of char;
buf : ARRAY [ 0..tFSize+1 ] of char;
bei mir(win32) funktioniert jetzt alles wie es soll!
1. meint ihr, daß dies die Lösung ist? (theorethisch)
1.2. tFSize ist entweder 79 oder 259 (warumauchimmer...) ich habe mal +1 angehängt...(?)
2. funktioniert es auch auf anderen (B)Systemen?
(3.) wenn das tatsächlich die Lösung sein sollte, bitte ins nächste fpc/lazarus-release einbauen! Wie gesagt(im Header von unzip.pp) muß die Änderung wegen mir nicht extra genannt werden...(Hauptsache es funktioniert!)
greez lichtwicht
@1st post: kurz zu mir:
bin 38 Jahre alt(er Knacker); im Bereich Veranstaltungstechnik tätig; ab ca.16J mit Computern am rumbasteln; bekannte Sprachen: Basic, Pascal, 6502, 8086, (MS-DOS-Batch,) Java (,HTML1.X)...alles nicht wirklich tief(gut);
seit ca. einem halben Jahr/Jahr beschäftige ich mit lazarus/fpc und habe hier aus dem Forum schon viel gelernt! Danke dafür!
btw. ich hasse diesen ganzen UTF8-Mist!, aber ich sehe ein, daß es sein muß...
keep on rocking! (...that I rock, doesn't mean I am made of stone;)