Problem mit Array

  • Guten Abend zusammen,

    ich habe folgendes Problem. Ich bekomme immer die folgende Fehlermeldung:

    [autoit]

    ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    GUICtrlCreateListViewItem($StringSplit[1] & "|" & $StringSplit[2] & "|" & StringReplace($StringSplit[3], $StringSplit[3], "**********") & "|" & $StringSplit[4] & "|" & $StringSplit[5], $ListView)
    GUICtrlCreateListViewItem($StringSplit[1] & "|" & ^ ERROR

    [/autoit]

    Hier der Code dazu, in der die Fehlermeldung auftaucht:

    Spoiler anzeigen
    [autoit]

    Func _LoadData()
    ;Einträge in die Liste laden.
    $FindHandle = FileFindFirstFile(@UserProfileDir & "\RDS\data\*.rds")

    [/autoit] [autoit][/autoit] [autoit]

    _GUICtrlListView_BeginUpdate($ListView_Handle) ;Deaktiviert die Aktualisierung des Control.
    While 1
    $FindItems = FileFindNextFile($FindHandle)
    If @error Then ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    $StringItem = _StringEncrypt(0, FileRead(@UserProfileDir & "\RDS\data\" & $FindItems), $MP, 2)
    $StringSplit = StringSplit($StringItem, "|")
    GUICtrlCreateListViewItem($StringSplit[1] & "|" & $StringSplit[2] & "|" & StringReplace($StringSplit[3], $StringSplit[3], "**********") & "|" & _
    $StringSplit[4] & "|" & $StringSplit[5], $ListView)
    WEnd
    _GUICtrlListView_EndUpdate($ListView_Handle) ;Aktiviert wieder die Aktualisierung des Control.
    EndFunc ;==>_LoadData

    [/autoit]

    Ich habe schon im Forum nach diesem Fehler geforscht, bin aber nicht weiter gekommen.

    Einmal editiert, zuletzt von MehmeX (3. Oktober 2011 um 21:14)

  • wenn der Fehler wirklich dort liegt, was nicht sicher ist, dann gibt es kein $StringSplit[5] ;)

    Edit: bei genauerem Hinsehen gibt es sogar schon kein $StringSplit[2] :rofl:

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Einmal editiert, zuletzt von Schnuffel (3. Oktober 2011 um 18:54)


  • wenn der Fehler wirklich dort liegt, was nicht sicher ist, dann gibt es kein $StringSplit[5]

    Edit: bei genauerem Hinsehen gibt es sogar schon kein $StringSplit[2]

    Es sind aber insgesamt 5 Spalten und wenn ich das ganze mit IsArray() prüfe, dann gibt es auch "1" zurück.


    ...

    ???

  • ja, er gibt als Array einen Wert zurück in $StringSplit[1].
    Mach mal einen MsgBox('','',UBound($$StringSplit))
    dann wirst Du sehen ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)


  • ja, er gibt als Array einen Wert zurück in $StringSplit[1].
    Mach mal einen MsgBox('','',UBound($$StringSplit))
    dann wirst Du sehen

    Tatsächlich!!! Danke! Jetzt weiß ich wo ich schauen muss, damit das ganze wieder funktioniert - Hoffentlich! :D

  • ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)