Page 1 sur 1

[R] Tester si un controle existe

Posté : lun. 31 mars 2008 11:25
par MissTi
Bonjour à tous,
(et encore merci: grâce à vous, j'avance et apprend rapidement...)
Pour automatiser mes calculs dans mon logiciel de carto, je lance des tâches avec AutoIt. Il y a un truc qui m'embête: à chaque tâche, mon logiciel m'ouvre une fenêtre Carte.
Je voudrais donc fermer ces fenêtres au fur et à mesure du script pour ne pas saturer la mémoire.

Sauf que ces fenêtres ne sont pas considérées comme des fenêtres mais comme des contrôles (si, si, j'ai vérifié avec le AU3Info - trop bien cet outil...).
Pour les fermer, je dois faire:

Code : Tout sélectionner

Send("{ALTDOWN}F4{ALTUP}")
Vous allez me demander où je veux en venir....

Si plusieurs de ces fenêtres sont ouvertes, je voudrais faire une boucle

Code : Tout sélectionner

While ControlExists("MapInfo Professional","","xvt320mdidoc1291")
... Fermer les fenêtres... 
Wend
Sauf que la fonction ControlExists() n'existe pas...

Y'a-t-il un moyen de contourner ce problème?

Précision: la dernière fenêtre Carte ouverte a toujours l'identifiant "xvt320mdidoc1291" donc je peux faire une boucle basée sur cet identifiant.

Re: [..] Tester si un controle existe

Posté : jeu. 03 avr. 2008 19:20
par eln
Bonjour

Peut-être avec :

Code : Tout sélectionner

ControlCommand ("MapInfo Professional", "", "xvt320mdidoc1291", "IsVisible", "")
Returns 1 if Control is visible, 0 otherwise