Fehler im Skript ?!

  • Hi

    also wie schon die Überschrift sagt ich hab ein fehler im skript den oich nich rausfinde das kommische er kam plötzlich also voher ging das skript aber dan kam dieser fehler :


    Spoiler anzeigen

    ShellExecute($array[@TRAY_ID-11])
    ShellExecute(^ ERROR


    und das ist das skript :


    Spoiler anzeigen
    [autoit]


    #Include
    #Include
    Opt("TrayOnEventMode",1)
    Dim $szDrive, $szDir, $szFName, $szExt, $array[1]
    Dim $file
    Opt("TrayMenuMode",1)
    $Progs = TrayCreateMenu("Programme")
    $Hinzu = TrayCreateItem("Hinzufügen")
    TrayItemSetOnEvent(-1, "_add")
    TrayCreateItem("")
    $save = TrayCreateItem("Speichern")
    TrayItemSetOnEvent($save,"_save")
    TraySetState()
    $open = TrayCreateItem("Wiederherstellen")
    $exititem = TrayCreateItem("Beenden")
    TrayItemSetOnEvent(-1, "_Exit")
    TraySetState()
    While 1
    sleep(100)
    WEnd
    Func _add()
    $file = FileOpenDialog("Choose EmbedFile",@DesktopDir,"All Files (*.*)")
    If $file <> "" Then
    $split = _PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
    $item = TrayCreateItem($split[3],$Progs)
    $array[Ubound($array)-1] = $file
    TrayItemSetOnEvent(-1, "_Run")
    _arrayAdd($array, "")
    EndIf
    EndFunc
    Func _Run()
    ShellExecute($array[@TRAY_ID-11])
    EndFunc
    Func _Exit()
    Exit
    EndFunc
    Func _save()
    IniWrite("Save.ini","Pogramme",$file,"[0]")
    EndFunc

    [/autoit]


    nur wen ich Hinzufügen und Save weg mache gehts :(

    Einmal editiert, zuletzt von FunH@cker (13. Juni 2009 um 18:38)

    • Offizieller Beitrag

    Probier mal das :

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    Opt("TrayOnEventMode",1)
    Dim $szDrive, $szDir, $szFName, $szExt, $array[1]
    Dim $file
    Opt("TrayMenuMode",1)
    $Progs = TrayCreateMenu("Programme")
    $Hinzu = TrayCreateItem("Hinzufügen")
    TrayItemSetOnEvent(-1, "_add")
    TrayCreateItem("")
    $save = TrayCreateItem("Speichern")
    TrayItemSetOnEvent($save,"_save")
    TraySetState()
    $open = TrayCreateItem("Wiederherstellen")
    $exititem = TrayCreateItem("Beenden")
    TrayItemSetOnEvent(-1, "_Exit")
    TraySetState()
    While 1
    sleep(100)
    WEnd
    Func _add()
    $file = FileOpenDialog("Choose EmbedFile",@DesktopDir,"All Files (*.*)")
    If $file <> "" Then
    $split = _PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
    $item = TrayCreateItem($split[3],$Progs)
    _ArrayAdd($array,$file)
    TrayItemSetOnEvent(-1, "_Run")
    EndIf
    EndFunc
    Func _Run()
    ShellExecute($array[@TRAY_ID-$exititem])
    EndFunc
    Func _Exit()
    Exit
    EndFunc
    Func _save()
    IniWrite("Save.ini","Pogramme",$file,"[0]")
    EndFunc

    [/autoit]
  • jetz gehtz aber warum hats fohrhin funktioniert und dan nich mehr ?
    naja hab noch n problem grad fesstgestellt in dem skript speichert es ja die Pogramme in eine ini doch wen ich sie wieder aufrufen will kommt stat dem name nur eine 1 oder eine 0 und dan ein fehler :thumbdown:
    sowie speichert er nicht alle Pogramme ab sondern nur eins ?(
    ich weis nicht mehr was ich machen soll .
    aber danke raubi das so schnell ging ;)

    • Offizieller Beitrag

    Probier mal das, hab ich grad mal zusammengeschustert:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>
    Opt("TrayOnEventMode", 1)
    Dim $szDrive, $szDir, $szFName, $szExt, $array[1]
    Dim $file
    Global $ini = @ScriptDir & "\Save.ini"
    Opt("TrayMenuMode", 1)
    $Progs = TrayCreateMenu("Programme")
    $Hinzu = TrayCreateItem("Hinzufügen")
    TrayItemSetOnEvent(-1, "_add")
    TrayCreateItem("")
    $save = TrayCreateItem("Speichern")
    TrayItemSetOnEvent($save, "_save")
    TraySetState()
    $open = TrayCreateItem("Wiederherstellen")
    TrayItemSetOnEvent(-1, "_Restore")
    $exititem = TrayCreateItem("Beenden")
    TrayItemSetOnEvent(-1, "_Exit")
    TraySetState()
    While 1
    Sleep(100)
    WEnd
    Func _add()
    $file = FileOpenDialog("Choose EmbedFile", @DesktopDir, "All Files (*.*)")
    If $file <> "" Then
    $split = _PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
    $item = TrayCreateItem($split[3], $Progs)
    _ArrayAdd($array, $file)
    TrayItemSetOnEvent(-1, "_Run")
    EndIf
    EndFunc ;==>_add
    Func _Run()
    ShellExecute($array[@TRAY_ID - $exititem])
    EndFunc ;==>_Run
    Func _Exit()
    Exit
    EndFunc ;==>_Exit
    Func _save()
    For $i = 1 To UBound($array) - 1
    IniWrite($ini, "Programme", $array[$i], "[0]")
    Next
    EndFunc ;==>_save

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

    Func _Restore()
    $Section = IniReadSection($ini, "Programme")
    If IsArray($Section) Then
    ReDim $array[1]
    For $i = 1 To $Section[0][0]
    _ArrayAdd($array, $Section[$i][0])
    $split = _PathSplit($Section[$i][0], $szDrive, $szDir, $szFName, $szExt)
    $item = TrayCreateItem($split[3], $Progs)
    TrayItemSetOnEvent(-1, "_Run")
    Next
    EndIf
    EndFunc ;==>_Restore

    [/autoit]