_GUICtrlListView_DeleteItem Bug -.-

  • Hi com,

    ich habe folgendes problem:
    ich ahbe eine funktion, die einen eintrag in einem listview löschen soll, soll...
    sie funktioniert aber nicht... wenn ich nun nur den befehl _GUICtrlListView_DeleteItemSelected statt _GUICtrlListView_DeleteItem mit index benutze, werden die arrays in den anderen funktionen auf einmal nicht mehr angenommen :cursing:
    warum? gibt es da einen bekannten bug?
    hier mal die funktion: (wegen der array einfach denken, dass zuvor eine andere (egal welche) array benutzt wurde)

    Spoiler anzeigen
    [autoit]

    Func _AppDeleteFromList()
    Local $AppFileToWrite = ""
    $AppChosenIndex = _GUICtrlListView_GetHotItem($AppList)
    $AppChosen = _GUICtrlListView_GetItemSelected($AppList, $AppChosenIndex)
    $AppToDeleteCount = _GUICtrlListBox_FindString($AppList, $AppChosen)
    If Not $AppToDeleteCount = -1 Then
    _FileReadToArray(@ScriptDir & "\Apps\Apps.sdb", $AppsActiveArrayDeletePart)
    _GUICtrlListView_DeleteItem($AppList, $AppChosenIndex)
    EndIf
    EndFunc

    [/autoit]

    nein, die arrays sind alle mit global deklariert^^

    • Offizieller Beitrag

    Du solltest dir mal durchlesen, was die Funktionen bewirken!

    [autoit]

    $AppChosen = _GUICtrlListView_GetItemSelected($AppList, $AppChosenIndex)

    [/autoit]


    Diese Funktion prüft ob der Eintrag (Index) selected ist und gibt True/False zurück.
    Damit erklären sich alle weiteren Fragen hierzu.

  • habe schon fast alles durchprobiert, ich guck mal mit deinem befehl weiter ;) edit kommt gleich :P

    Edit1:
    jetzt sagt er wieder, dass die anderen arrays nicht deklariert sind, darf ich dir das script schicken? will es noch nicht an die öffendlichkeit bringen ^^

  • ohne das komplette Skript kann man dazu wenig sagen, aber es scheint so als ob du ListBox- und ListView-Funktionen drcheinanderbringst.
    In einer ListView kannst du auch mit

    [autoit]

    _GUICtrlListView_DeleteItemsSelected

    [/autoit]

    alle selektierten Items löschen, siehe dazu auch unbedingt die Bemerkungen in der Hilfe

    Zitat

    Bemerkungen

    Falls diese Funktion bei einem Listview, welches durch die Funktion GUICtrlCreateListView erstellt wurde, angewendet wird, muss der Befehl _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($ListView)) heißen, da sonst eine Fehlermeldung erscheint. ($listview ist die Variable wie das Listview heißt)

    mfg (Auto)Bert

  • das nächste mal les ichs mir online durch und nicht in scite ^^
    davor hatte ich es mit GUICtrlRead(), da wird ja bei einer listbox das angewählte gelesen, geht das auch im listview?

    Also in meiner Hilfe stehts richtig drin.

  • autoBert: das hatte ich auch, aber wie gesagt, immer wenn ich da befehle ändere sind die variablen auf einmal undeklariert
    und es ist richtig, habe die variante genommen
    @m-obi: die hilfe in scite ist ja auf englisch, da passieren mal fehler, und da steht nur wenig

    Also man kann ja auch die deutsche Hilfe runterladen, ist ja nicht so schwer. Und poste doch mal dein ganzes Script.

  • Hallo Black_skorbi,

    wie gesagt ohne Skript ist schwer eine Fehleranalyse möglich. aber in Zeile 3,4 und 8 wendest du Listview-Funktionen auf das Control $AppList, in Zeile 6 aber eine ListBox-Funktion, das kann meines erachtens nach nicht gutgehen. Poste doch einfach das komplette Skript, dann kann man genaer schauen

    mfg (Auto)Bert

  • ja aber wenn es fertig ist -.-
    das dauert bestimmt noch 2 wochen (wenn du wüsstest, was das werden soll, ist es verständlich^^)
    wenn jemand bereit wäre, das per pn mal kurz durchzugucken, wäre ich sehr dankbar

    Edit1:
    einige bugs wurden behoben (teilweise durch n-obi's hilfe), ich überlege, den listview mit checkboxen zu machen
    das würde das problem lösen, also [gelößt] ^^