$handle = ControlGetHandle("tecra's Mod Translator", "", "[NAME:listViewScript]")
;~ MsgBox(0, "tecra handle", $handle)
$mod = WinGetText("tecra's Mod Translator")
$mod = _StringExplode($mod, ".esp", 1)
;~ MsgBox(0, "", $mod[0])
$ende = _GUICtrlListView_GetItemCount($handle)
;~ MsgBox(0, "Skripte", $ende)
MsgBox(0, "", _GUICtrlListView_GetItemText($handle, 0)) ;ist "", sollte "M" sein
For $i = 0 To $ende -1
$text = _GUICtrlListView_GetItemText($handle, $i)
MsgBox(0, $i, $text) ;ist auch "", sollte entweder "M", "X" oder "-" sein, je nach Item
If $text = "M" Then
$name = _GUICtrlListView_GetItemText($handle, $i, 1)
MsgBox(0, "3", $name) ;wird nie erreicht, da $text = "" - und das immer
_ArrayAdd($skripte, $name)
_ArrayDisplay($skripte)
EndIf
Next
Das ist das Skript. Es läuft, abgesehen von den ListView-Items wunderbar. Das ListView-Handle ($handle), der Modname ($mod[0]), die Anzahl der Skripte ($ende) werden korrekt ausgelesen und ausgeben.
Aber an den Itemtexten scheitert mein Code irgendwie.
Wenn ich in der MessageBox vor der For-Schleife den Befehl _GUICtrlListView_GetItemText($handle, 0) in _GUICtrlListView_GetItemSelected($handle, 0) ändere, erhalte ich "True" - gut, da das Item ausgewählt ist.
Es scheint also tatsächlich ein Problem mit dem Item-Text zu sein.
Hat jemand eine Idee, woran es liegen könnte und wie ich das Problem behebe?
PS: Falls sich jemand das Programm (tecras ModTranslator), zu welchem die auszulesende Liste gehört, ansehen möchte, kann man es hier herunterladen.