PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

Nouveauté WINDEV, WEBDEV, WINDEV Mobile 24 !
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Bloque le thread en cours en attendant que le signal spécifié soit ouvert.
Versions 19 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
Nouveauté 19
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
Versions 21 et supérieures
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Nouveauté 21
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Exemple
// Création d'un signal
Signal_Allezy est un SignalManuel(signalFermé)

// Exécution d'un premier thread
ThreadExécute("Thread1", threadNormal, "Thread_Premier")
// Bloque le thread en cours jusqu'à l'obtention du signal
ThreadAttendSignal()
// Exécution d'un second thread
ThreadExécute("Thread2", threadNormal, "Thread_Second")

// Bloque le thread en cours jusqu'à l'obtention du signal
ThreadAttendSignal()

// Ouvre le signal pour exécuter les threads
Signal_Allezy.Ouvre()

//----------------------------------------------
PROCÉDURE Thread_Premier()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
Signal_Allezy.Attend()
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")

//--------------------------------------------
PROCÉDURE Thread_Second()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
Signal_Allezy.Attend()
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")
Syntaxe
<Résultat> = <Signal>.Attend([<Durée maximale>])
<Résultat> : Entier
  • 1 si le thread a reçu le signal,
  • 0 dans le cas contraire (durée maximale écoulée).
<Signal> : Variable de type SignalManuel
Nom de la variable de type SignalManuel correspondant au signal à attendre.
<Durée maximale> : Entier optionnel ou Durée optionnelle
Nombre de centièmes de seconde d'attente maximale.
  • Si à la fin de la durée spécifiée, le thread n'a pas reçu de signal, <Résultat> est égal à Faux.
  • Si ce paramètre n'est pas spécifié, l'attente est infinie.
  • Si ce paramètre vaut 0, <Résultat> correspond à l'état du signal, sans se mettre en attente.
Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de centièmes de seconde,
  • une variable de type Durée,
  • Versions 23 et supérieures
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    Nouveauté 23
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
Remarques
Il est possible de terminer l'exécution d'un thread même si celui-ci est bloqué dans une attente infinie d'un signal. Il suffit d'utiliser la fonction ThreadArrête.
Composante : wd240vm.dll
Version minimum requise
  • Version 24
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire