Run Befehl funktioniert nach Autoitupdate nicht mehr

  • Hi,
    ich habe die Version 3.2.10.0 eingespielt und nun funktioniert so einiges in meinem Script nicht mehr. Vieles konnte ich beheben, aber beim Run Befehl komme ich nicht weiter.
    So sieht er momentan aus:

    [autoit]

    Run("explorer.exe \\"& $pc_name &"\c$")

    [/autoit]


    Danke

  • Hi,
    sorry du hast Recht. "Der Pfad "\\\c$" ist nicht vorhanden oder verweist auf kein Verzeichnis."
    Wie gesagt, vorher hat das Script super funktioniert. Ich vermute daher das sich etwas am Run-Befehl geändert hat. Ich musste auch ca. 6 Funktionen ersetzen, weil es die nicht mehr gibt, bzw. ersetzt wurden.
    $pc_name kommt aus einer Liste

    [autoit]

    $new_pc_name = LocateString(_GUICtrlListView_GetItemTextString($pcliste, _GUICtrlListView_GetSelectedIndices($pcliste)))
    RunBoxCommand($new_pc_name)

    [/autoit]
  • Hi sunghost,

    probier mal

    [autoit]

    $new_pc_name = LocateString(_GUICtrlListView_GetItemTextString($pcliste, _GUICtrlListView_GetSelectedIndices($pcliste)[1]))
    RunBoxCommand($new_pc_name)

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

    ; oder

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

    $aSelectedIndices = _GUICtrlListView_GetSelectedIndices($pcliste)
    For $i = 1 To $aSelectedIndices[0]
    $new_pc_name = LocateString(_GUICtrlListView_GetItemTextString($pcliste, _GUICtrlListView_GetSelectedIndices($pcliste)[$i]))
    RunBoxCommand($new_pc_name)
    Next

    [/autoit]

    erste Variante wenn du nur einen Eintrag markiert hast, die zweite für mehrere.
    Schätze du hast die Auto3Lib gegen die neuen eingebauten Funktionen ausgetauscht.

  • Hallo,
    ich habe nur ein Objekt makiert und möchte dieses ausführen. Wenn ich das wie du schreibst mit der [1] mache, dann erhalte ich folgende Fehlermeldung genau an dieser Stelle:"Error parsing functional call". Ich habe lediglich die V 3.2.10. installiert. ;)

  • Nö!

    Zitat

    $fArray Return string or Array
    True - Returns array
    False - Returns pipe "|" delimited string


    Standard ist False -> Wenn nur ein Item ausgewählt ist, dann geht (Es sollte auch nur eines ausgewählt werden können :) :(

    [autoit]

    $new_pc_name = LocateString(_GUICtrlListView_GetItemTextString($pcliste, _GUICtrlListView_GetSelectedIndices($pcliste)))
    RunBoxCommand($new_pc_name)

    [/autoit]
  • :grübel:
    also so?:

    [autoit]

    $temp = _GUICtrlListView_GetSelectedIndices($pcliste)
    $new_pc_name = LocateString(_GUICtrlListView_GetItemTextString($pcliste, $temp))

    [/autoit]
  • genau.
    Mach doch einfach nen Test:
    CreateListview
    Einen Eintrag auswählen, dann Button klicken
    Auf Buttonklick 2 MsgBxen: 1) Rückgabe von _GUICtrlListView_GetSelectedIndices($pcliste)
    2) Rückgabe von _GUICtrlListView_GetItemTextString($pcliste, $temp)

    -> Wenn beides korrekt, dann geht es :)

  • Gut das der Default-Wert nicht in der aktuellen Hilfe steht und Array als erstes angegeben wird :rolleyes:
    Aber zum Problem : Mach es so wie progandy sagt, die einzelnen Schritte überprüfen und sich die Rückgabewerte angucken.

  • Jup, aber in Scite im info-popup steht $array = False :) und im Bsp wird es auch so verwendet.

    Zitat

    MsgBox (4160, "Information", "Selected Indices: " & _GUICtrlListView_GetSelectedIndices ($hListView))