CreateThread()
Syntaxe
Thread = CreateThread(@NomdeProcedure(), *Valeur)Description
Créé un nouveau thread tournant en arrière plan de l'application. Si le thread est créé correctement, la fonction renvoie le numéro du thread qui pourra être utilisé avec les autres commandes de la bibliothèque, telles que KillThread(), PauseThread(), etc... La procédure doit être créée selon le format suivant:Procedure VotreProcedure(*Valeur) EndProcedureL'argument '*Valeur' de CreateThread() est passé comme argument de la procédure appelée. Il est très important de ne pas modifier le nombre de paramètre de cette procédure, qui doit toujours rester à 1.
Exemple
Procedure VotreProcedure(*Valeur)
; La variable '*Valeur' contiendra 23
EndProcedure
CreateThread(@VotreProcedure(), 23)
Exemple: Passer plusieurs paramètres à un thread
Structure Person
Name$
Age.b
Phone.l
EndStructure
Procedure Thread(*Parameters.Person)
; Affiche les parametres
;
Debug *Parameters\Name$
Debug *Parameters\Age
Debug *Parameters\Phone
; Une fois qu'on en a plus besoin, ClearStructure() est nécessaire pour s'assurer
; que les objets dynamiques (s'il y en a) sont correctement libérés.
ClearStructure(*Parameters, Person)
FreeMemory(*Parameters)
EndProcedure
; On utilise de la mémoire dynamique, donc cela continuera de fonctionner meme si l'appel
; est fait à l'interieur d'une procédure.
;
*Parameters.Person = AllocateMemory(SizeOf(Person))
*Parameters\Name$ = "John"
*Parameters\Age = 30
*Parameters\Phone = 10203040
CreateThread(@Thread(), *Parameters) ; Crée le thread
Delay(2000)
OS Supportés
Tous