Auslösen eines GUICtrlSetOnEvent

  • Hallo Zusammen,

    ich möchte gerne eine Funtkion über GUICtrlSetOnEvent auslösen, jedoch erhalte ich eine Fehlermeldung, dass es sich eine undefinierte Funktion handelt, obwohl die Funktion vorhanden ist ?(

    Mein Aufruf:

    [autoit]


    GUICtrlSetOnEvent($MenuItem33, "_ShowInfo(1)")

    [/autoit]

    Hier eine einfache Funktion die Aufgerufen wird (Zeigt oder Versteck eine Form)

    [autoit]


    Func _ShowInfo($n=0)
    If $n = 1 Then
    GUISetState(@SW_SHOW, $Form1_2)
    ElseIF $n = 0 Then
    GUISetState(@SW_HIDE, $Form1_2)
    EndIf
    EndFunc

    [/autoit]

    Wenn ich das Ganz einfach mit _ShowInfo(1) oder mit _ShowInfo(0) aufrufe funktioniert es -> Jedoch leider nicht mit dem Aufruf über GUICtrlSetOnEvent! Muss hier noch etwas berücksichtig werden?
    Ich könnte mir denken, dass die (n) als Platzhalter für etwas anderes im String fungiert?

    Grüße
    Tim.

    Einmal editiert, zuletzt von Gwyn (15. Juni 2010 um 14:18) aus folgendem Grund: Mit Umleitung zu einer Wrapper Funktion gelöst

  • Du kannst bei OnEvent keine Parameter mit angeben.
    Du brauchst also Wrapper-Funktionen.

    Spoiler anzeigen
    [autoit]


    GUICtrlSetOnEvent(-1,"_ShowInfo_on")

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

    ;....

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

    Func _ShowInfo_on()
    _ShowInfo(1)
    EndFunc

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

    Func _ShowInfo_off()
    _ShowInfo(0)
    EndFunc

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

    Func _ShowInfo($n=0)
    If $n = 1 Then
    GUISetState(@SW_SHOW, $Form1_2)
    ElseIF $n = 0 Then
    GUISetState(@SW_HIDE, $Form1_2)
    EndIf
    EndFunc

    [/autoit]