Problème avec la fonction GetVariable() avec un SWF

CrazyLAW Messages postés 8 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 4 mars 2010 - 17 févr. 2010 à 18:18
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 17 févr. 2010 à 19:59
Bonjour à vous

Tout d'abors, je tient à préciser que je suis un débutant en VB.

Alors voici mon problème..
J'ai incorporé un fichier . SWF à mon programme, et je cherche à assigner la valeur d'une variable de ce fichier à une variable de mon programme.

Je veut ensuite executer une commande pour tel ou tel valeur de la variable de mon SWF.

Jusqu'ici pas de problème, j'ai utilisé le code
MaVariable = AxShockwaveFlash1.GetVariable("VariableDuSWF")

Ca marche très bien, mais lorque la variable n'est pas encore défini sur le SWF, mon programme plante, évidemment...
Alors j'aimerais pouvoir définir si une variable est active ou non, mais je n'ai pas la moindre idée de comment faire...

Merci de votre aide

Et désolé si c'est pas très claire, je savais pas trop comment expliquer ^^

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
17 févr. 2010 à 18:31
Bonjour,

Fais dans ce cas une gestion d'erreur, tout simplement !


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
CrazyLAW Messages postés 8 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 4 mars 2010
17 févr. 2010 à 18:42
Je me suis renseigner sur ce que c'etais
Oui je débute vraiment...

Bon, alors maintenant sa marche, merci a toi.. Mais c'est caremment bancale!!
Comme c'est dans un timer avec pour intervalle 1, sa ralenti considérablement mon programme, a force de trouver des erreurs.

Y a t il un autre moyen? Ou alors de corriger le ralentissement?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
17 févr. 2010 à 18:54
Gère les erreurs !:
genre : (exemple) :
Dim toto As Single, titi As Single
toto = 3
On Error Resume Next
titi = toto / 0 ' <<<<<===== on provoque volontairement ici une erreur
If Err Then MsgBox "erreur " & Err.Number & "  " & Err.Description
On Error GoTo 0
titi = toto / 2
MsgBox "je n'ai rien planté et mon appli a poursuivi sa route. titi est maintenant = " & titi

Et vois (je ne connais pas ton application, s'il faut ou non "réinterroger") selon ta stratégie.
Il n'est peut-être pas très adroit, par ailleurs, d'avoir un interval si minuscule (1 milliseconde !)
Regarde enfin ce qu'est DoEvents (dans ton aide en ligne) et utilise-le là où ça fait mal.

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
CrazyLAW Messages postés 8 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 4 mars 2010
17 févr. 2010 à 19:02
Merci beaucoup, en tant que bon débutant je vais tenter de digerér ton message.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CrazyLAW Messages postés 8 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 4 mars 2010
17 févr. 2010 à 19:11
        On Error GoTo SetVariable
        Variable1 = AxShockwaveFlash1.GetVariable("Variable1")
        Variable2 = AxShockwaveFlash1.GetVariable("Variable2")
        Variable3 = AxShockwaveFlash1.GetVariable("Variable3")
        Variable4 = AxShockwaveFlash1.GetVariable("Variable4")

SetVariable:
        If Variable1> 1 Then Call AxShockwaveFlash1.SetVariable("Variable1", 1)
        If Variable2 > 1 Then Call AxShockwaveFlash1.SetVariable("Variable2", 1)
        If Variable3 > 1 Then Call AxShockwaveFlash1.SetVariable("Variable3", 1)
        If Variable4 > 1 Then Call AxShockwaveFlash1.SetVariable("Variable4", 1)



Je ne voit pas comment l'appliquer a mon code, car c'est en fait normal qu'il y ai des erreurs, la variable en question est en permanence déclarée, puis non déclarée, etc. Et je ne compte pas afficher de message d'erreur.. Enfin bref désolé de vous prendre la grappe!
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
17 févr. 2010 à 19:59
Commence d'abord par laisser le temps au temps, en oubliant pour l'instant la gestion d'erreur:

Variable1 = AxShockwaveFlash1.GetVariable("Variable1")
 Doevents
Variable2 = AxShockwaveFlash1.GetVariable("Variable2")
DoEvents
Variable3 = AxShockwaveFlash1.GetVariable("Variable3")
DoEvents
Variable4 = AxShockwaveFlash1.GetVariable("Variable4")
DoEvents


Et dis-nous si amélioration.

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0