[...] Interference Labview -AutoIt ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Pelagos
Niveau 2
Niveau 2
Messages : 22
Enregistré le : lun. 22 mars 2010 09:29
Localisation : Basel, Suisse
Status : Hors ligne

[...] Interference Labview -AutoIt ?

#1

Message par Pelagos »

A peu près tout est dans le titre. Il semblerait que l'usage d'un script basique d'AutoIt (quand j'entends basique, je veux dire rien de plus qu'une serie de mouse click, sleep, enter, and so) perturbe un (des ?) programme made in labview.

Est ce que quelqu'un a entendu parler d'interferences du genre, ou le fait de creer un script qui "pilote" un programme peut creer des problemes avec ce dernier ? (Dans mon cas, le programme n'arrive plus a vider sa mémoire tampon, ou en tout cas un truc qui ressemble a ca, une fois qu'un script est lancé. Enfin parfois, l'erreur n'est pas systematique.)

(je precise, avant qu'on me pose la question : mon script fonctionne bien, il ne comprends aucune commande spécifique qui pourrait perturber le programme Labview. )

Merci d'avance.
Je retourne fouiller le forum anglais, sait on jamais.
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [...] Interference Labview -AutoIt ?

#2

Message par SagePourpre »

Je n'ai personnellement jamais entendu parlé d'un tel problème et n'ai jamais
moi-même eu quelconque interférences.

Tu peux toujours publier ton script ici afin qu'on puisse le voir.
Je ne sais pas si dans ce cas particulier ça pourrait nous aider à
déterminer une cause probable mais essayons tout de même.


Tu peux toujours essayer de dépouiller ton script.

Par exemple, crée le script le plus banal qui soit qui fera seulement des mouseclick ciblé
dans ton programme. Ta mémoire tampon se vide-t-elle correctement ?

Si oui, alors MouseClick n'est pas la fonction à mettre en cause.

Si non, peut-être viens-tu de trouver ton problème.

Étape 2 :
Si l'étape précédente était positive et que ta mémoire s'est vidée correctement, essaie un script
avec des MouseClick et des Send.

Si la mémoire tampon ne s'était pas vidée correctement, alors tu peux peut-être remplacée
MouseClick par ControlClick (si applicable) afin de déterminer si un problème survient.


En bref, essaie de voir si une fonction spécifique qui interagit avec le programme est cause
d'interférence (bien que je n'aie jamais vu ça auparavant et que je trouve cela particulièrement
bizarre ).



Solution alternative :
Vider la mémoire tampon manuellement chaque 10 secondes

À mettre au début de ton script

Code : Tout sélectionner

$Global $i_PID = 'NomduProcessusIncapabledeVidersaMémoireTampon.exe'
AdlibRegister("_ReduceMemory", 10000)


Définition de fonction (fin de script)

Code : Tout sélectionner

Func _ReduceMemory()

    If $i_PID <> -1 Then
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
        DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
    Else
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
    EndIf

    Return $ai_Return[0]
EndFunc   ;==>_ReduceMemory_PngGui
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Avatar du membre
Pelagos
Niveau 2
Niveau 2
Messages : 22
Enregistré le : lun. 22 mars 2010 09:29
Localisation : Basel, Suisse
Status : Hors ligne

Re: [...] Interference Labview -AutoIt ?

#3

Message par Pelagos »

Excusez la réponse tardive, merci de ton aide.

Donc. Oui, c'est effectivement un bonne idée. Mon script, basiquement, est composé uniquement de send et de mouseclick (enfin a quelque exceptions pres). Le voici. Il est un peut long alors je le mets en piece jointe.
Au passage, tout commentaires seront bienvenus, surtout en terme d'archi et d'ago (je debute ^^).

La mise en route d'un script, même le plus basique, ne semble pas poser probleme outre mesure. Pour dire vrai, je ne comprends vraiment rien a comment un script peut provoquer une erreur comme ça. Je vois vraiment pas le rapport.

Enfin voila mon script, au cas ou.
Fichiers joints
AMOR_Manual_Drive_v5.au3
(26.36 Kio) Téléchargé 75 fois
Répondre