WARNING: Dim deprecated as declaration

  • Hallo zusammen

    ich "teste" im Moment ein Beispielfunktion ==> _GUICtrlListView_GetColumnCount.au3

    Ich habe mit Dim eineVariable hinzugefügt.

    Wenn ich CTRL+F5 drücke bekomme ich folgenden Warnhinweis

    WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.

    [autoit]

    #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>

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

    Dim $var1 ; neu hinzugefügt

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

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work
    _Main()
    Func _Main()
    Local $hListView
    GUICreate("ListView Get Column Count", 400, 300)
    $hListView = GUICtrlCreateListView("col1|col2|col3", 2, 2, 394, 268)
    GUISetState()
    $var1 = _GUICtrlListView_GetColumnCount($hListView)
    MsgBox(0,"Variable $var1: ",$var1)
    MsgBox(4160, "Information", "Column Count: " & _GUICtrlListView_GetColumnCount($hListView))
    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    Soll bei der Deklarierung von Variablen Dim nicht mehr verwendet werden?

    MfG
    johny1099

    Einmal editiert, zuletzt von johny1099 (29. Juni 2011 um 18:17)

  • Hallo Kleiner

    Zitat

    Ausserhalb einer Funktion Deklarierten Variablen müssen Global gekennzeichnet sein

    Das Script funktioniert aber auch mit Dim. Und es ist lediglich ein Warnhinweis und keine Fehlermeldung.

    MfG
    johny1099

    • Offizieller Beitrag

    Arrays müssen nicht mit Dim deklariert werden. ReDim funzt auch auf einer Local oder Global Variable.

    Zitat von Hilfe

    Der Unterschied zwischen Dim, Local und Global ist der Gültigkeitsbereich, für den die Variablen deklariert werden:
    Dim = Wenn der Variablename nicht schon mit globalem Gültigleitsbereich existiert, hat die definiertr Variable einen lokalen Gültigkeitsbereich (falls die Variable schon global existiert, so wird die globale Variable verwendet!)
    Global = Erzwingt globale Gültigkeit der Variablen
    Local = Erzwingt lokale Gültigkeit der Variablen, bzw. innerhalb der Funktion

  • Hi!


    ReDim, kurz für re-Dimension ist ein AutoIt-Funktion, die verwendet werden, um Arrays zu skalieren . Durch die Nutzung dieser Funktion kann hinzugefügt oder entfernt werden, Raum aus einem Array.


    Lg Kleiner

    • Offizieller Beitrag

    Lies die Hilfe oder den Edit in meinem letzen Post ;)

    Edit:
    AutoIt hat die Besonderheit, das Local deklarierte Variablen im Hauptscript automatisch Global werden.
    In anderen Sprachen kann man auf Local Variablen aus dem Hauptscript nicht innerhalb einer Funktion zugreifen.
    Lokal eben ;)