Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 08:57

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



subscript used with non-array variable

Discussion on subscript used with non-array variable within the AutoIt forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2009
Posts: 7
Received Thanks: 0
subscript used with non-array variable

Hey Leute, ich bin vor kurzem auf AutoIT gestoßen und interessiere mich für die ImageSearch Funktion, also habe ich mir ein kleines Script gebastelt. Das Script soll nach einem bestimmten Bild suchen und wenn dieses Bild nicht gefunden wurde die F1 Taste drücken (F1 generiert in einem Spiel für welches ich das Script nutzen will ein neues Bild). Das Script soll dann solange F1 drücken, bis ein bestimmtes Bild gefunden wurde, und dann eine MsgBox anzeigen.

Da es mein erstes kleines mini projekt war und auch soweit funktioniert, war ich erst froh, aber nun habe ich folgendes Problem:
An meinem PC (Win XP) funktioniert das Script, aber wenn ich das Script auf einem anderen Rechner(Win7 x64) starten möchte, kommt sobald ich das Script mit F8 starten möchte ein Fenster mit: subscript used with non-array variable

Das ist der Code:

#include<ImageSearch.au3>

HotKeySet("{F8}","starten")
HotKeySet("{F9}","beenden")
$x1=0
$y1=0

While 1
Sleep (1)
WEnd

Func starten()
While 1
$result=_ImageSearch("123.png",0,$x1,$y1,100)
If $result= 1 Then
MsgBox(1,"info","blabla")
Sleep (200)

Else
Send ("{F1}")
Sleep (400)
EndIf
WEnd
EndFunc

Func beenden()
Exit 0
EndFunc

Ich habe das Script einem Kumpel geschickt um zu testen, ob das Script auf seinem Rechner (Win7 x64) läuft, aber es kommt der selbe Fehler.




Uploaded with

Ich hoffe ihr könnt mir helfen

p.s. wie stelle ich das an, das dass Script nach dem es das Bild gefunden hat und die MsgBox zeigt solange pausiert, bis ich in der MsgBox auf den OK Knopf drücke?
krotty is offline  
Old 06/12/2012, 13:48   #2
 
elite*gold: 0
Join Date: Mar 2011
Posts: 8,645
Received Thanks: 3,454
Denke so sollte es gehen

PHP Code:
#include <ImageSearch.au3>

HotKeySet("{F8}","starten")
HotKeySet("{F9}","beenden")

While 
1
   Sleep 
(200)
WEnd

Func starten
()
   
$x1 0
   $y1 
0
   
While 1
      $result 
_ImageSearch('123.png'1$x1$y1100)
      If 
$result 1 Then
         MsgBox
(0,"info","blabla")
         
Sleep(200)
      Else
         
Send("{F1}")
         
Sleep(400)
      EndIf
   
WEnd
EndFunc

Func beenden
()
   Exit 
EndFunc 
Und für Windows 7 solltest du auf Compile Script (x64) gehen
Freddy​ is offline  
Thanks
1 User
Old 06/12/2012, 15:13   #3
 
elite*gold: 0
Join Date: Oct 2009
Posts: 7
Received Thanks: 0
Vielen Dank, ich werds gleich mal testen

also bei mir funktioniert es, aber auf meinem anderen PC und auf dem PC von meinem Kumpel klappt es leider immer noch nicht. Jetzt kommt aber ein anderer Error



Uploaded with

habe auch beim Compilen den Haken bei x64 reingemacht und bei x84 habe ich den Haken rausgemacht

p.s. Mir ist aufgefallen das dass Script Teilweise sehr langsam bzw verzögert F1 drückt, sobald ich die Maus in dem Fenster habe, wo ein neues Bild generiert wird. Sobald ich die Maus außerhalb von diesem Fenster habe, klickt das Script schnell F1. Die Maus muss sich aber leider in dem Fenster befinden, da man das Bild sonst nicht sieht. Ist das vlt PC bedingt, dass es so langsam bei mir klickt?
krotty is offline  
Old 06/14/2012, 07:39   #4
 
elite*gold: 0
Join Date: Oct 2009
Posts: 7
Received Thanks: 0
Hat sonst noch jemand eine Idee wie ich das Script unter Win7 zum laufen bekomme?
krotty is offline  
Old 06/14/2012, 14:45   #5

 
Njahs's Avatar
 
elite*gold: 574
Join Date: Nov 2010
Posts: 2,498
Received Thanks: 726
Wo ist dein Problem?
Der Debugger sagt dir alles, was du wissen musst,
um den Fehler zu beheben.
_ImageSearch([...]) liefert einen Array zurück.
Njahs is offline  
Old 06/09/2013, 06:47   #6
 
elite*gold: 0
Join Date: Apr 2013
Posts: 1
Received Thanks: 0
Also ich habe das ausprobiert und bei mir kommt immer noch diese nachricht hoch (error: subscript used with non-array variable) Tipps? Habe ein aenlichen script (Imagesearch)... Kann einer helfen?!
TrickKiste is offline  
Old 06/09/2013, 13:34   #7
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
Quote:
Originally Posted by TrickKiste View Post
Also ich habe das ausprobiert und bei mir kommt immer noch diese nachricht hoch (error: subscript used with non-array variable) Tipps? Habe ein aenlichen script (Imagesearch)... Kann einer helfen?!
1. guck aufs datum bevor du in einem thread postest. wenn du in ein veralteten thread postest erscheint er wieder ! deswegen: erstell einen neuen thread damit alles übersichtlich bleibt!
2. Imagesearch hat einen kleinen programmierfehler. das problem liegt also nicht an deinem script sondern an der Imagesearch udf. um genau zu sein in der 40. zeile.
FacePalmMan is offline  
Closed Thread


Similar Threads Similar Threads
[HELP] _FTP_ListToArrayEx Subscript used with non Array variable
02/29/2012 - AutoIt - 2 Replies
Ich habe das problem das bei meinem Script der Fehler : "Subscript used with non Array variable" auftaucht. Der Fehler ist angeblich auf Linie 25 aber _FTP_ListToArrayEx müsste eigentlich ein Array zurückgeben sogar bei einem Fehler und ich bin mir sicher das die Connection Stimmt. Ich hoffe ihr könnt mir Helfen Ja ich weis ich könnte das auch kürzer machen aber für`n Momment is es so okey also bitte unterlasst diesbezügliche Kommentare Script: #include-once
VB6 Subscript out of Range
05/20/2011 - .NET Languages - 1 Replies
Hey Leute, fange gerade an mich bisschen mit Coden via VB6 zu beschäftigen hab auf Youtube erstmal zum anfang ein Hangman Tutorial angeguckt und bin grad dabei aber jetzt bekomm ich sobald ich Start drücke was zum debuggen: Dim Ratewords(9) As String Dim Rateword As String Dim Keyword As String Dim Letter As String Dim lifelost As Boolean Dim life As Integer Dim gr As Integer
Überprüfen ob Variable Eine Variable ist
10/16/2010 - AutoIt - 26 Replies
Hey leute ich wollte fragen ob/wie man überprüfen kann ob eine Variable eine Variable ist z.b. so $k = 1 $i = $k if $i = VARIABLE Then msgbox(0,'$i ist eine variable!!','') endif PS:Wp releast man nochma TuT (z.b. für metin2??)
Problem error: Subscript used whit non-Array variable "
08/26/2010 - Last Chaos - 1 Replies
hey leute, seitdem mein laptop ein windows update gemacht hat funktioniert der ultra bot nicht. es dann kommt immer die fehlermeldung " error: Subscript used whit non-Array variable " vor diesem update ging der bot noch.
beliebiege variable aus array
04/21/2010 - AutoIt - 3 Replies
hallo zusammen. ich arbeite zur zeit an einem kleinen programm und dafür ist es nötig, dass autoit vergleicht, ob eine bestimmte variable innerhalb eines array vorhanden ist. das array enthält zum bsp variabeln mit den werten: 1, 2 und 3. jetzt soll überprüft werden, ob die variable a im array ist (a=1, z.B.). das array hab ich natürlich schon erstellt (1dimensional), nur der abgleich ist knifflig. ich habs mit if $a= $array_items Then $score= $score+1 EndIf



All times are GMT +1. The time now is 08:59.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.