Erstellung von SQX-Archiven (sqx20.dll)

Für allgemeine Fragen zur Programmierung mit PureBasic.
javabean
Beiträge: 29
Registriert: 16.12.2004 18:47

Erstellung von SQX-Archiven (sqx20.dll)

Beitrag von javabean »

Hallo,

ich spiele gerade etwas mit der "sqx20.dll" (zur Erstellung von .sqx-Archiven) herum. Aber irgendwie will es mir nicht gelingen ein SQX-Archiv zu erstellen oder zu entpacken. Ich weiß nicht woran es liegt - vielleicht hab' ich auch eine Struktur (siehe SQX_Const.pb) falsch übersetzt.

Einige Download-Links:
- DLL und Dokumentation (275 kB)
- SQX_Const.pb (20 kB)
- vollständige SQX-SDK (1.2 MB)

Hier sind meine mikrigen Versuche:

Code: Alles auswählen

XIncludeFile "SQX_Const.pb"


Procedure SqxCallback(pParam, pCallbackInfo)

EndProcedure

comp.SQX_COMPRESSOPTIONS

  comp\cbSize = SizeOf(SQX_COMPRESSOPTIONS)
  comp\dwFileFormat = #SQX_FILEFORMAT_20
  
  comp\compOptions\dwCompRate = #SQX_COMPRATE_MAXIMIUM
  comp\compOptions\dwDictionarySize = #SQX_DICTIONARY_4M
  comp\compOptions\fSolidFlag = #True
  
  comp\compOptions\dwExeCompression = #SQX_SPECIALCOMP_AUTOMATIC
  comp\compOptions\dwRgbCompression = #SQX_SPECIALCOMP_AUTOMATIC
  comp\compOptions\dwTextCompression = #SQX_SPECIALCOMP_AUTOMATIC
  comp\compOptions\dwAudioCompression = #SQX_SPECIALCOMP_AUTOMATIC
  comp\compOptions\dwMultimediaCompression = #SQX_SPECIALCOMP_AUTOMATIC
  
  comp\fRetainFolderStructure = #True
  


OpenLibrary(0,"sqx20.dll")

ArchiveName$ ="C:\SqxTest.sqx"

Debug CallFunction(0,"SqxInitArchive",@ArchiveName$,0,0,@hArch)

hFileList = CallFunction(0,"SqxInitFileList",hArch)
Debug hFileList

CompFile$ = "C:\PureBasic_v4.0.chm"
CallFunction(0,"SqxAppendFileList",hArch,hFileList,@CompFile$)

para.l = 4
CallFunction(0,"SqxCompressFiles",hArch,@SqxCallback(),@para,hFileList,@comp)
Vielleicht weiß jemand von Euch woran's liegen könnte?

LG, javabean
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

CallFunction(0,"SqxCompressFiles",hArch,@SqxCallback(),@para,hFileList,@comp)

Gibt hier "SQX_ERR_BAD_PARAMETER 48 The parameter is incorrect. " aus .

Vielleicht solltest du da nochmal nachschauen.
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 »

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
Antworten