Warning: This feature is experimental. It may not work, may contain bugs or may be changed or removed without notice.

DO NOT REPORT BUGS OR REQUEST NEW FEATURES FOR THIS FEATURE.

Référence Mot-clé


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 de 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 rappels de SetTimer ne sont pas sûrs avec volatile, évitez-les.
Pour tous les autres cas, il n'y a pas de différence dans l'exécution des fonctions volatiles 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