Error: Subscript used with non-Array variable

  • Hi zusammen.

    Bin hier grad echt irgendwie am Durchdrehen...

    Ich hab neulich hier gepostet und mit der Hilfe von ein paar netten Leuten ein kleines Tool geschrieben.
    Dieses Programm misst permanent den Netzwerktraffic.
    Funktioniert hier bei mir alles wunderbar...jetzt hab ich es als exe rausgeschrieben und auf den Rechner kopiert, auf dem es eigentlich laufen soll und da krieg ich gleich nach dem Ausführen der Datei die Fehlermeldung "Error: Subscript used with non-Array variable".

    Ich verstehs überhaupt nicht. Hab dann auf dem Rechner auch mal AutoIt installiert und dort das Script ausgeführt. Gleicher Fehler. :?: :?:

    Hab Euch hier mal das Script, vielleicht könnt Ihr mir helfen, oder zumindest mal sagen, ob es bei euch läuft..?

    EDIT: der Fehler tritt übrigens angeblich in Zeile 124/125 auf.

    Danke!
    TrashMaxx
    </string.au3></array.au3></Constants.au3></GUIConstants.au3>

    Einmal editiert, zuletzt von Trashmaxx (28. November 2007 um 12:04)

  • eehhm...ja, die stehen ganz unten. die komische code-Funktion rafft glaub ich die spitzen Klammern nicht ab und zieht die dinger dann immer ganz nach unten. ich habs nich hingekriegt irgendwie .

    warum gibts denn die [autoit] funktion nicht mehr...war doch viel besser mit dem highlightning...

    da sollte stehen:

    C
    #include GUIConstants.au3
    #include Constants.au3
     #include array.au3
     #include string.au3

    aber halt mit spitzen Klammern

    • Offizieller Beitrag

    Wir haben die Forensoftware umgestellt (wie man vielleicht merkt ;) ) und daher gibt es im Moment kein AutoIt-Highlighting - wird aber so schnell wie möglich wieder kommen.
    Ich würde sagen, der Text "Unicastpakete" kommt in dem Teil nicht vor, daher geht StringBetween schief (gibt kein Array zurück) und das Programm stürzt ab. Evtl. ist die Ausgabe unter anderen Betriebssystemen leicht abweichend oder so.

    peethebee

  • Doch, wenn man den "netstat -e" Befehl eingibt, kommt das Wort doch vor...
    Hab ich bei dem anderen Rechner schon getestet. Da kommts auch.
    Bei dir nicht?

  • hmm diese beiden Zeilen machen mich stuzig:

    Code
    $Line = StringStripWS($Line[0], 7)
    $Lines = StringSplit($Line, " ")


    Ich weiß nicht was StringStripWS macht ABER $Line[0] in der Variable $Line. Sry ich kanns nich gut erklären, aber versuch mal anstatt $Line (nicht $Line[0]!!!) zb. $Line2 oder sowas. Und zwar überall ab da $Line in $Line2 ändern.
    Ich weiß nicht obs daran liegt, aber versuchen kann manns ja mal.

  • Danke, dass Ihr euch die Mühe macht und da reinschaut.
    Die eckigen Klammern sagen halt, dass die Variable ein Array ist. Irgendwie muss man ja die einzelnen Zeichen vom String ansprechen können.
    Vor allem: Auf meinem Rechner funzt das ja alles perfekt. Habs jetzt auch mal noch auf nem zweiten getestet. Da gehts auch. Nur auf dem Rechner, auf dems tatsächlich laufen soll, gehts nicht :D

    Könnt Ihrs vielleicht mal bei Euch ausprobieren?

    Merci!

  • HAHAHA.

    Ich Idiot. Auf dem Rechner ist halt n englisches Windows drauf :D

    Vielen Dank fürs Auf-die-Sprünge-helfen" !!!