Page 1 sur 1

[R] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 10:24
par guitarist
Bonjour voila j'ai repris une fonction qu'a créé Tlem et je l'utilise, la voici :
► Afficher le texte
Le problème c'est que lorsque je dit à ma GUI de lancer in ternet il lance in ternet et ferme la GUI en disant :
Subscript used with non-Array variable.:
$x = $pos[0]
$x = $pos^ ERROR
Merci de vos réponse pour me sortir de là

Voila le reste du code :
► Afficher le texte
Son but est de pouvoir lancer les differantes pages du forum.

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 10:45
par Tlem
A première vue, je dirais que vous avez omis de donner tous les paramètres, ou tout au moins qu'ils ne sont pas bon.

Dans la fonction, la commande WinGetPos($guinom) récupère les coordonnées de la fenêtre ayant pour control ID : $guinom
Donc si cette GUI n'existe pas ou n'est pas visible, le reste de la fonction ne peut pas fonctionner.

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 10:59
par Tlem
Mon message est-il transparent ?
Re-lisez le bien.

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 11:02
par guitarist
Si ce que je copren est ce que tu a marquer Tlem c'est vrai que lorsqueon lance google et bien la gui est en-dessous de la fenetre de google donc n'est plu visible mais alor comment faire pour ne as avoir ce prob de la fonction qui continu : il faudrai pourvoir l'arretersi il y a une erreur.
Faudrait-il utiliser la datatype du style @error?

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 11:07
par Tlem
Qu'est-ce que vous ne comprenez pas dans :
Tlem a écrit :la commande WinGetPos($guinom) récupère les coordonnées de la fenêtre ayant pour control ID : $guinom
:roll:

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 11:10
par guitarist
Je l'ai comprise la fonction !!!!!

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 11:25
par Tlem
:shock: Ah bon !!!

Ce n'est pas ce que je vois dans votre code.

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 11:27
par ani
_tooltip (350,500,150,250,"Cliquez pour lancer Google","SAE")
vous devez indiquer le nom de la variable de votre interface, vous l'avez nommé $Form1
_tooltip (350,500,150,250,"Cliquez pour lancer Google",$Form1)

ensuite, vous faite appel a divers commandes avec un switch...endswitch et d'un select...endselect, retirez la formules du switch.

remplacer cà

Code : Tout sélectionner

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
            Exit
    
    EndSwitch
        
Select
Par

Code : Tout sélectionner

Select
    Case $nMsg = $GUI_EVENT_CLOSE
            Exit
bonne continuation ;)

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 12:50
par guitarist
J'ai fait les modifications mais le probleme est tjr là : lorsque je clique sur l'image pour lancer google la gui se ferm en laissant le massage d'erreur que j'ai afficher sur mon premier post

Voila la derniere version de ma GUI :
► Afficher le texte

Re: [..] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 13:49
par guitarist
Je croi que vous avez mal compris mon prob :

Mon probleme ne vient pas de WinGetPos

Mon probleme vient de la :

Code : Tout sélectionner

$pos = GUIGetCursorInfo ()
$x = $pos[0]
$y = $pos[1]
ET une fois google lancer mon script se ferme et me dit :

Code : Tout sélectionner

F:\SAE.au3 (97) : ==> Subscript used with non-Array variable.:
$x = $pos[0]
$x = $pos^ ERROR

Re: [R] Problème avec une fonction inventé

Posté : dim. 11 oct. 2009 14:43
par guitarist
En cherhcant bien j'ai trouver la solution !!!!
► Afficher le texte
Il fallait rajouter l'option "$Form1" sur la fonction GuiGetCursorInfo !!!

Soit :

Code : Tout sélectionner

$pos = GUIGetCursorInfo ($Form1)

Re: [R] Problème avec une fonction inventé

Posté : lun. 12 oct. 2009 22:09
par sylvanie
Bonsoir,
C'est très bien d'avoir trouvé, mais une fois de plus je remarque (ceci est vrai pour beaucoups) qu'on ne s'assure pas que la fonction se soit bien passée.
En effet, ici par manque de précision de paramètre, on sortait en échec, et le soucis, et qu'on ne traîte pas le cas "erreur". Du coups on a un script qui "marche bien" si tout va bien, et qui peut retomber dans l'horrible erreur mensionnée si on n'est pas dans les bonnes conditions.
Il faut penser à tester @error ou le type de retours avant d'enchaîner les actions, pour éviter les scripts qui tournent en eau de boudin quand on n'est pas dans les bonnes conditions.
Bon j'arrête de radoter, et je vais prendre mes pilules '^^