Hey Ihr.
Ich hab da mal ein kleines Problem.
Dazu folgende Angaben:
Die Quelltextzeilen:
[autoit]
Func _UeberpruefeLogin ( $NAME, $PASSWORT )
$Charakterdaten = IniReadSection ( "Userdaten.ini", $NAME )
Sleep ( 100 )
MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$Charakterdaten' & @lf & @lf & 'Return:' & @lf & @error) ;### Debug MSGBOX
If @error Then
$VerbundenerSocket = TCPConnect ( $Absender, $SPort )
Sleep ( 100 )
TCPSend($VerbundenerSocket, "LOGIN" & ">"& "ID nicht vorhanden" )
Sleep ( 100 )
GUICtrlSetData ( $Inhalt, $ServerName & " -> " & $Absender & " > " & "LOGIN ID nicht vorhanden" & @CRLF & GUICtrlRead ( $Inhalt ) )
; Exit
Else
Sleep ( 100 )
$OriginalPasswort = $Charakterdaten[1][1] ;----> HIER SOLL DER FEHLER SEIN
If $OriginalPasswort = $PASSWORT Then
$VerbundenerSocket = TCPConnect ( $Absender, $SPort )
Sleep ( 100 )
TCPSend($VerbundenerSocket, "LOGIN" & ">"& "OK" )
Sleep ( 100 )
GUICtrlSetData ( $Inhalt, $ServerName & " -> " & $Absender & " > " & "LOGIN OK" & @CRLF & GUICtrlRead ( $Inhalt ) )
Else
$VerbundenerSocket = TCPConnect ( $Absender, $SPort )
Sleep ( 100 )
TCPSend($VerbundenerSocket, "LOGIN" & ">"& "PASSWORT falsch" )
Sleep ( 100 )
GUICtrlSetData ( $Inhalt, $ServerName & " -> " & $Absender & " > " & "LOGIN PASSWORT falsch" & @CRLF & GUICtrlRead ( $Inhalt ) )
EndIf
EndIf
EndFunc
@error aus der Debug MsgBox zeigt 0 als Ausgabe, daher wird auch die ELSE Auswahl getroffen.
Output von SciTE:
servertest.au3 (91) : ==> Subscript used with non-Array variable.:
$OriginalPasswort = $Charakterdaten[1][1]
$OriginalPasswort = $Charakterdaten^ ERROR
->19:57:13 AutoIT3.exe ended.rc:1
+>19:57:14 AutoIt3Wrapper Finished
>Exit code: 1 Time: 26.968
Dieser Fehler tritt in meinem Script seit gestern abend auf, dabei hab ich an dem Ablauf des Codes selber garnichts geändert...
Habe lediglich die Sleep Befehle eingefügt, weil der Check auf der Gegenseite nicht ankam und ich nicht sicher war, woran das ganze liegt
und ich dabei erstmal vermutet hatte, dass es sich um ein zeitliches Problem handelte.
Davor lief die Funktion, halt bis auf das Empfangen an der Gegenseite, fehlerfrei.
Ich bin verzweifelt am suchen, ob ich vielleicht aus Versehen irgendwo ein Zeichen gelöscht habe oder so, aber ich kann einfach nichts finden...
Vielleicht hat ja einer von Euch einen Tip dazu ![]()
LG Darius83