COMatePLUS Event Handling

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
LBS_71
Messages : 3
Inscription : sam. 21/sept./2013 8:54

COMatePLUS Event Handling

Message par LBS_71 »

bonjour à tous,

est ce que quelqu'un à reussi à utiliser la méthode "SetEventHandler" ( cf COMateObject class - SetEventHandler() method. ) avec l'objet COM Msxml2.XMLHTTP et tout particulièrement pour essayer de gérer le retour "onreadystatechange" .

Exemple en Vbscript :

Dim oXMLHTTP
Set oXMLHTTP = CreateObject("Msxml2.XMLHTTP")

oXMLHTTP.Open "POST", "http://*************************", False
oXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXMLHTTP.onreadystatechange = getref("HandleStateChange")
oXMLHTTP.send

Function HandleStateChange()
If (oXMLHTTP.readyState = 4) Then
Msgbox " ok "
End If
End Function

Extrait Purebasic :

IncludePath "..\"
XIncludeFile "COMatePLUS.pbi"

DisableExplicit

Global.COMateObject oXMLHTTP

Procedure myEventCallback(object.COMateObject, eventName.s, parameterCount, *result.VARIANT)
Debug eventName
EndProcedure

oXMLHTTP = COMate_CreateObject("Msxml2.XMLHTTP")

If oXMLHTTP
oXMLHTTP\Invoke("setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')")
oXMLHTTP\Invoke("Open('POST','http://google.fr', #False)")
oXMLHTTP\SetEventHandler(#COMate_CatchAllEvents ,0)
oXMLHTTP\SetEventHandler(#COMate_CatchAllEvents ,@myEventCallback(),#COMate_OtherReturn)
Debug COMate_GetLastErrorDescription()
Debug COMate_GetLastErrorCode()
oXMLHTTP\Invoke("Send()")

; Bout de code qui fonctionne mais pas trés élégant !!!
; je veux éviter ce genre de code
;Repeat
; Delay(10)
; Debug oXMLHTTP\GetIntegerProperty("ReadyState")
; Until oXMLHTTP\GetIntegerProperty("ReadyState") = 4


oXMLHTTP\Release()
EndIf




Merci d'avance .

LBS_71
Dernière modification par LBS_71 le lun. 23/sept./2013 13:18, modifié 1 fois.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: COMatePLUS Event Handling

Message par falsam »

Bonjour et bienvenue. Une réponse sur le forum anglais http://forums.purebasic.com/english/vie ... f9#p324045
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
LBS_71
Messages : 3
Inscription : sam. 21/sept./2013 8:54

Re: COMatePLUS Event Handling

Message par LBS_71 »

falsam a écrit :Bonjour et bienvenue. Une réponse sur le forum anglais http://forums.purebasic.com/english/vie ... f9#p324045
Bonjour Falsam,


merci pour ta réponse mais je vais préciser ma demande car elle ne semble pas claire.

je ne veux pas embarquer du vbs dans mon code PureBasic, mais je veux retranscrire l'écoute de l'événement "onreadystatechange" en Purebasic de la même manière que mon exemple VBS.


Cordialement LBS_71
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: COMatePLUS Event Handling

Message par nico »

T'as un exemple d'utilisation de SetEventHandler ici:
http://www.purebasic.fr/french/viewtopi ... entHandler
Répondre