Avertissement: Cette fonctionnalité est expérimentale. Elle peut ne pas fonctionner, peut contenir des bugs ou peut être modifiée ou supprimée sans préavis.

NE PAS SIGNALER DE BUG OU DEMANDER DE NOUVELLES FONCTIONNALITÉS POUR CETTE FONCTION

Mot-clés AutoIt


Volatile

Qualificatif de fonction.

    Volatile Func FunctionName(...)
    ...
    EndFunc

Remarques

Utilisez le qualificatif Volatile pour modifier certains aspects de l'exécution de la fonction.

Les règles suivantes s'appliquent à des fonctions qui sont déclarées avec ce qualificatif:

Fonction Callback Pendant l'exécution de la fonction, la pompe à message principale d'AutoIt n'est pas bloquée comme elle l'est normalement pour les fonctions de rappel non-volatiles.
Fonction d'événement COM L'exécution est synchrone (voir exemple).

Les fonctions de rappel SetTimer ne sont pas sûres avec Volatile, évitez-les.
Pour tous les autres cas, il n'y a pas de différence dans l'exécution des fonctions Volatile par rapport aux fonctions normales.

En relation

Func

Exemple

_COM_Example()

Func _COM_Example()
    ; Crée un objet Internet Explorer
    Local $oIE = ObjCreate("InternetExplorer.Application")
    ; Traite les erreurs
    If @error Then Return
    $oIE.Visible = True ; Définit la visibilité
    ; Objet événement personnalisé
    ObjEvent($oIE, "_IEEvent_", "DWebBrowserEvents2")
    ; Navigue n'importe où
    $oIE.navigate("http://www.google.com")
    ; Traite les erreurs éventuelles de chargement
    If @error Then
        $oIE.Quit()
        Return
    EndIf
    ; Attend que la page se charge
    While $oIE.readyState <> "complete" And $oIE.readyState <> 4
        Sleep(10)
    WEnd
    ; Attend quelques secondes pour voir si d'autres événements seront déclenchés
    Sleep(3000)
    ; Rien de plus à faire. Ferme IE et retourne de la fonction
    $oIE.Quit()
EndFunc   ;==>_COM_Example

;Définition de la méthode BeforeNavigate2
Volatile Func _IEEvent_BeforeNavigate2($oIEpDisp, $sIEURL, $iIEFlags, $sIETargetFrameName, $sIEPostData, $iIEHeaders, ByRef $bIECancel)
    ConsoleWrite("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!--BeforeNavigate2 est déclenché--!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " & @CRLF & _
            "$oIEpDisp = " & $oIEpDisp() & "  -  " & ObjName($oIEpDisp) & @CRLF & _ ;par exemple la propriété et le nom par défaut de l'objet
            "$sIEURL = " & $sIEURL & @CRLF & _
            "$iIEFlags = " & $iIEFlags & @CRLF & _
            "$sIETargetFrameName = " & $sIETargetFrameName & @CRLF & _
            "$sIEPostData = " & $sIEPostData & @CRLF & _
            "$iIEHeaders = " & $iIEHeaders & @CRLF & _
            "$bIECancel = " & $bIECancel & @CRLF & _
            "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " & @CRLF & @CRLF)    ; Annule la navigation
    $bIECancel = True
EndFunc   ;==>_IEEvent_BeforeNavigate2