PackerCallback()
Syntaxe
Resultat = PackerCallback(@Callback())Description
Définir une fonction de rappel pour surveiller ou interrompre la compression pour CompressMemory(), AddPackFile() et AddPackMemory().
Arguments
@Callback() Adresse de la fonction de rappel. Elle doit avoir la forme suivante : Procedure Callback(EnCours.q, Total.q) ; ; Renvoie #True pour continuer la compression, ou #False pour abandonner. ; ProcedureReturn Resultat EndProcedure
Valeur de retour
Aucune.
Remarques
La fonction de rappel sera appelée à intervalles réguliers pendant le processus de compression.
Exemple
UseZipPacker()
; La CallBack sera appelée à intervalles réguliers pour afficher ou interrompre la compression.
; Elle doit correspondre à la déclaration suivante.
;
Procedure Callback(EnCours.q, Total.q)
Debug "Progression: " + EnCours + " octets / "+ Total + " octet"
ProcedureReturn #True ; Renvoie #True pour continuer la compression, ou #False pour abandonner.
EndProcedure
; Installer le rappel pour toutes les futures compressions de packer
PackerCallback(@Callback())
; Allouer 50 Go de mémoire pour la compression
*Tampon = AllocateMemory(50*1024*1024, #PB_Memory_NoClear)
; Le tampon de sortie est un peu plus grand que la source, juste au cas où
*Sortie = AllocateMemory(51*1024*1024, #PB_Memory_NoClear)
Taille_compressee = CompressMemory(*Tampon, MemorySize(*Tampon), *Sortie, MemorySize(*Sortie))
Debug "Longueur compressée: " + Taille_compressee + " octet"
Voir aussi
CompressMemory(), AddPackFile(), AddPackMemory()
OS Supportés
Tous