Page 1 sur 1

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

Posté : ven. 09 sept. 2011 19:05
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.

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

Posté : sam. 10 sept. 2011 16:38
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 ;).

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

Posté : dim. 11 sept. 2011 17:06
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.

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

Posté : mar. 13 sept. 2011 14:12
par valoou
J'up un peu le sujet, en espérant que quelqu'un puisse m'aider =)

Cordialement,
Valentin.

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

Posté : jeu. 15 sept. 2011 09:34
par valoou
Un dernier up avant abandon :/
En espérant que quelqu'un pourra m'aider.

Cordialement,
Valentin.

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

Posté : dim. 24 juin 2012 08:21
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

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

Posté : lun. 25 juin 2012 22:44
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 ,

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

Posté : lun. 25 juin 2012 23:01
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