GuiImageListAdd -> Funktioniert nicht getrennt in anderer Funktion

  • Hey Leute: meine Script:

    [autoit]

    #include <GuiListView.au3>
    #include <GuiImageList.au3>

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

    ;var:....
    Global $SysIni_path = @ScriptDir & '\members.ini'
    Global $hListView
    Global $hImage
    Global $w_main

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

    Opt("GuiOnEventMode", 1)

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

    _main()
    While Sleep (2000)
    WEnd

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

    Func _main()
    _w_main()
    _AddData()
    EndFunc

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

    Func _w_main()
    Local $hImage, $hListView

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

    ; Erstellt eine GUI
    $w_main = GUICreate("Window", 400, 350)
    GUISetOnEvent(-3, "_w_main_close")

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

    $B_unknown = GUICtrlCreateButton("B", 16, 280, 105, 25)
    $B_offline = GUICtrlCreateButton("B", 144, 280, 105, 25)
    $B_online = GUICtrlCreateButton("B", 272, 280, 105, 25)

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

    $B_unknown_pc2 = GUICtrlCreateButton("B", 17, 312, 105, 25)
    $B_offline_pc2 = GUICtrlCreateButton("B", 145, 312, 105, 25)
    $B_online_pc2 = GUICtrlCreateButton("B", 273, 312, 105, 25)

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

    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)

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

    ; Lädt die Bilder
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF3030, 16, 16));ROT, Ansprechbar über 0 ==> Unknown
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xCDCDC1, 16, 16));GRAU, Ansprechbar über 1 ==> Available
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16));GRÜN, Ansprechbar über 2 ==> Online
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

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

    ; Fügt die Spalten hinzu
    _GUICtrlListView_InsertColumn($hListView, 0, "status", 140)
    _GUICtrlListView_InsertColumn($hListView, 1, "name", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Datei", 100)

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

    ; Fügt die Items hinzu
    _GUICtrlListView_AddItem($hListView, "Unknown", 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "S PC 1", 1);Zeile 0,Spalte 1 mit Text#
    _GUICtrlListView_AddSubItem($hListView, 0, "irgendwas", 2)
    _GUICtrlListView_AddItem($hListView, "error, but available", 0)
    _GUICtrlListView_AddSubItem($hListView, 1, "S PC 2", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "irgendwas", 2)
    _GUICtrlListView_AddItem($hListView, "error2", 2)
    _GUICtrlListView_AddSubItem($hListView, 2, "S PC 3", 1)
    _GUICtrlListView_AddSubItem($hListView, 2, "C:\", 2)

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

    GUISetState(@SW_SHOW, $w_main)

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

    EndFunc;==> Hauptfenster

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

    Func _w_main_close()
    Exit
    EndFunc;==> Hauptfenster-Schließen

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

    Func _AddData()

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

    EndFunc

    [/autoit]

    und nun das gleiche script, wo ich aber das Hinzufüger der Spalten und Zeilen in einer Anderen Funktion mache:

    [autoit]

    #include <GuiListView.au3>
    #include <GuiImageList.au3>

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

    ;var:....
    Global $SysIni_path = @ScriptDir & '\members.ini'
    Global $hListView
    Global $hImage
    Global $w_main

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

    Opt("GuiOnEventMode", 1)

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

    _main()
    While Sleep (2000)
    WEnd

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

    Func _main()
    _w_main()
    _AddData()
    EndFunc

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

    Func _w_main()
    Local $hImage, $hListView

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

    ; Erstellt eine GUI
    $w_main = GUICreate("Windowr", 400, 350)
    GUISetOnEvent(-3, "_w_main_close")

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

    $B_unknown = GUICtrlCreateButton("B", 16, 280, 105, 25)
    $B_offline = GUICtrlCreateButton("B", 144, 280, 105, 25)
    $B_online = GUICtrlCreateButton("B", 272, 280, 105, 25)

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

    $B_unknown_pc2 = GUICtrlCreateButton("B", 17, 312, 105, 25)
    $B_offline_pc2 = GUICtrlCreateButton("B", 145, 312, 105, 25)
    $B_online_pc2 = GUICtrlCreateButton("B", 273, 312, 105, 25)

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

    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)

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

    EndFunc;==> Hauptfenster

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

    Func _w_main_close()
    Exit
    EndFunc;==> Hauptfenster-Schließen

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

    Func _AddData()
    ; Lädt die Bilder
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF3030, 16, 16));ROT, Ansprechbar über 0 ==> Unknown
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xCDCDC1, 16, 16));GRAU, Ansprechbar über 1 ==> Available
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16));GRÜN, Ansprechbar über 2 ==> Online
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

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

    ; Fügt die Spalten hinzu
    _GUICtrlListView_InsertColumn($hListView, 0, "status", 140)
    _GUICtrlListView_InsertColumn($hListView, 1, "name", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Datei", 100)

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

    ; Fügt die Items hinzu
    _GUICtrlListView_AddItem($hListView, "Unknown", 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "S PC 1", 1);Zeile 0,Spalte 1 mit Text#
    _GUICtrlListView_AddSubItem($hListView, 0, "irgendwas", 2)
    _GUICtrlListView_AddItem($hListView, "error, but available", 0)
    _GUICtrlListView_AddSubItem($hListView, 1, "S PC 2", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "irgendwas", 2)
    _GUICtrlListView_AddItem($hListView, "error2", 2)
    _GUICtrlListView_AddSubItem($hListView, 2, "S PC 3", 1)
    _GUICtrlListView_AddSubItem($hListView, 2, "C:\", 2)

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

    GUISetState(@SW_SHOW, $w_main)

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

    EndFunc

    [/autoit]

    Und Letzteres Funktioniert leider nicht: ich hab alles Global deklariert, was nur geht...
    Ich komm einfach nich drauf, warum das nich in einer Anderen Funktion seperat funktioniert:

    Vielen dank für eure antworten :rock:


    ... kann mir denn niemand helfen oder hab ich zu umständlich beschrieben..


    Edit: fehler im Quellcode selber erkannt: teilweise wurden die Variablen wieder Local deklariert..

    2 Mal editiert, zuletzt von Mr_gitarre (6. August 2010 um 15:37)