Packer: callback qui ne marche pas
Publié : dim. 13/juin/2010 10:40
Bonjour, j'ai besoin de compresser des fichiers et pour cela j'utilise la bibliothèque Packer de PB. Le problème c'est que je n'arrive pas à mettre en place une fonction de callback en utilisant PackerCallback(). Ma fonction de callback n'est jamis appelée (même avec des fichiers très gros). Voilà mon code:
Qu'est ce qui ne va pas ?
Code : Tout sélectionner
Procedure compressWindow()
OpenWindow(0, 0, 0, 500, 100, "", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
TextGadget(0, 20, 20, 350, 20, "")
ProgressBarGadget(1, 20, 40, 350, 25, 0, 1)
ButtonGadget(2, 380, 37, 100, 30, "Annuler")
EndProcedure
Procedure uncompressCallback(source, dest)
Debug "ok"
SetGadgetState(1, source)
ProcedureReturn 1
EndProcedure
compressWindow()
file$ = OpenFileRequester("fichier à compresser", "", "*.*", 0)
If file$
SetGadgetAttribute(1, #PB_ProgressBar_Maximum, FileSize(file$))
PackerCallback(@uncompressCallback())
dir$ = GetTemporaryDirectory()+Str(ElapsedMilliseconds())
Debug dir$
CreatePack(dir$)
AddPackFile(file$)
ClosePack()
Debug "fini"
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
DeleteFile(dir$)
EndIf