[..] Problème Image Search sous Vista et 7

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
valoou
Niveau 1
Niveau 1
Messages : 4
Enregistré le : ven. 09 sept. 2011 15:01
Status : Hors ligne

[..] Problème Image Search sous Vista et 7

#1

Message par valoou »

Bonjour,

Je sais que cette erreur est connue sur le net mais malgrès mes recherches je n'ai pu trouver solution a mon problème.

Voila, j'ai codé quelques scripts sous XP avec la lib Image Search.
Ceux-ci fonctionnent parfaitement sous XP.
Cependant en les essayant sous Vista ou 7, je me retrouve avec le fameux

Error: Subscript used with non-array variable.

Biensur, j'ai refait mes echantillons d'images, sur Vista et 7, en bmp 24 bits comme conseille, j'ai essayé le 32 bit aussi, rien y fait. la lib et le DLL sont bien presents dans mon dossier courant, j'ai vérifié le Dll est bien chargé.

J'ai esayé avec les lib Image search et Image search 2, ainsi qu'avec les DLLs ImageSearchDLL.dll, ImageSearchDLL32.dll et ImageSearchDLL64.dll,

Avec la 32 et la 64 certaines fois le "Subscript used with non-array variable" n'apaprait pas, cependant l'image search ne fonctionne pas.

J'espere que vous pourrez m'apporter votre aide,

Cordialement,
Valentin.
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Problème Image Search sous Vista et 7

#2

Message par RL77LUC »

Essaye un IsArray() avant d'utiliser les fonctions relatives aux Arrays, mais ça ne bouclera pas le problème, mais ça permettra au moins au script de s'exécuter. Si tu nous donnait une copie du script, on pourrait plus t'aider ;).
valoou
Niveau 1
Niveau 1
Messages : 4
Enregistré le : ven. 09 sept. 2011 15:01
Status : Hors ligne

Re: [..] Problème Image Search sous Vista et 7

#3

Message par valoou »

Merci pour ta réponse =)

Voila le script, c'est simplissime, je débute dans autoit, voila donc le script:

Code : Tout sélectionner

$x1=0
$y1=0
$result=0

while 1
HotKeySet("e", "searchbin")
HotKeySet("{ESC}", "exitprog")
wend

Func searchbin()
        
        $result = _ImageSearch("plein.bmp",1,$x1,$y1,0)
        if $result=1 Then
            MouseMove($x1, $y1, 3)
            MouseClick("right", $x1, $y1, 1, 100)
            sleep(500)
            $result = _ImageSearch("vider.bmp",1,$x1,$y1,0)
            MouseMove($x1,$y1,3)
            MouseClick("left", $x1, $y1, 1, 100)
            sleep(500)
            $result = _ImageSearch("oui.bmp",1,$x1,$y1,0)
            MouseMove($x1,$y1,3)
            MouseClick("left", $x1, $y1, 1, 100)
        Else
            MsgBox(0, "Info", "Bin is not empty")
        EndIf
    EndFunc
    
func exitprog()
    exit 0
EndFunc
Voila le code, j'espere que c aaidera, effectivement j'ai esayé avec isarray(), mais l'image n'est pas trouvée.

Cordialement,
Valentin.
valoou
Niveau 1
Niveau 1
Messages : 4
Enregistré le : ven. 09 sept. 2011 15:01
Status : Hors ligne

Re: [..] Problème Image Search sous Vista et 7

#4

Message par valoou »

J'up un peu le sujet, en espérant que quelqu'un puisse m'aider =)

Cordialement,
Valentin.
valoou
Niveau 1
Niveau 1
Messages : 4
Enregistré le : ven. 09 sept. 2011 15:01
Status : Hors ligne

Re: [..] Problème Image Search sous Vista et 7

#5

Message par valoou »

Un dernier up avant abandon :/
En espérant que quelqu'un pourra m'aider.

Cordialement,
Valentin.
Hardcoffee
Niveau 1
Niveau 1
Messages : 4
Enregistré le : ven. 01 juin 2012 05:35
Status : Hors ligne

Re: [..] Problème Image Search sous Vista et 7

#6

Message par Hardcoffee »

salut j'en suis au même problème que toi et toujours pas de solution concrète :/
la ligne 40 du script ImageSearch.au3 ne passe pas a cause du array
Avatar du membre
Uranium
Niveau 5
Niveau 5
Messages : 143
Enregistré le : mer. 28 mars 2012 13:13
Status : Hors ligne

Re: [..] Problème Image Search sous Vista et 7

#7

Message par Uranium »

Apparemment tu veux savoir si la corbeille est pleine ou pas , et la vider si c'est le cas ?

J'ai fait ce code , assez simple , et qui ne passe pas par les _ImagesSearch ..

Code : Tout sélectionner

If DirGetSize('C:\$RECYCLE.BIN\S-1-5-21-2693975053-3505977156-732172129-1000') <> 0 Then
    Local $search = FileFindFirstFile('C:\$RECYCLE.BIN\S-1-5-21-2693975053-3505977156-732172129-1000\*.*')
    If $search = -1 Then
        MsgBox(0, "Error", "Error")
        Exit
    EndIf

    While 1
        Local $file = FileFindNextFile($search)
        If @error Then ExitLoop
        FileDelete('C:\$RECYCLE.BIN\S-1-5-21-2693975053-3505977156-732172129-1000\' & $file)
        MsgBox(0, '', $file & " supprimé")
    WEnd
    FileClose($search)

    MsgBox(0, '', 'Corbeille vidée avec succés')
Else
    MsgBox(0, '', 'Corbeille vide')
EndIf
 
En espérant vous avoir aidé

Cordialement ,
« En mathématiques, “évident” est le mot le plus dangereux. »
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème Image Search sous Vista et 7

#8

Message par Tlem »

Quel est réellement l’intérêt de tester si la corbeille est pleine ou non sachant que si elle est vide, la commande ci-dessous prend à peine 1/2 secondes (et encore) ?

Code : Tout sélectionner

FileRecycleEmpty()
Il est même possible d'utiliser le code ci-dessous (tiré du forum US) qui permet d'autres possibilités :

Code : Tout sélectionner

;======================================================================================
;
; Function Name: _EmptyRecycleBin($flag)
; Description: Use this function to empty the recycle bin.
; Parameter(s): $flag. Normal=0 No Confirmation=1 No Progress UI=2 Nosound=4
; Requirement(s): Include ERecycleBin.au3
; Return Value(s): none.
; Author(s): Matrix112 <ch.krogmann@gmx.de>
;
;======================================================================================
Func _EmptyRecycleBin($flag)
    $path = @HomeDrive
    DllCall("shell32.dll", "none", "SHEmptyRecycleBinA", "hwnd", 0, "str", $path, "long", $flag)
EndFunc   ;==>_EmptyRecycleBin
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre