Sign in to follow this  
Followers 0
Viktor1703

OnAutoItStartRegister is bug ?

3 posts in this topic

#1 ·  Posted (edited)

AutioIt v3.3.10.2 

Error "$SS_CENTERIMAGE - Variable used without being declared."
 

#OnAutoItStartRegister 'main'

#Include <WindowsConstants.au3>
#Include <StaticConstants.au3>
#Include <GUIConstantsEx.au3>

AutoItSetOption('MustDeclareVars', 1)

Global $hForm

;main()

Func main()
    $hForm = GUICreate('', 397, 339)
    GUICtrlCreateLabel('Test', 20, 20, 60, 21, $SS_CENTERIMAGE)
    GUISetState(@SW_SHOW, $hForm)

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    Wend
EndFunc

Сorrectly

#Include <WindowsConstants.au3>
#Include <StaticConstants.au3>
#Include <GUIConstantsEx.au3>

AutoItSetOption('MustDeclareVars', 1)

Global $hForm

main()

Func main()
    $hForm = GUICreate('', 397, 339)
    GUICtrlCreateLabel('Test', 20, 20, 60, 21, $SS_CENTERIMAGE)
    GUISetState(@SW_SHOW, $hForm)

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    Wend
EndFunc
Edited by Viktor1703

Share this post


Link to post
Share on other sites

#2 ·  Posted (edited)

Before the including the script with constants(ie StaticConstants.au3) the function is executed, hence it shows the error.

 - As it says as Autoit Starts Execute the function "Main"

The following way of inserting the includes isn't recommended but would make you understand better.

#OnAutoItStartRegister "main"

AutoItSetOption('MustDeclareVars', 1)

Global $hForm

;main()

Func main()

    #Include <StaticConstants.au3>
    #Include <GUIConstantsEx.au3>

    ;The variable hForm is also not declared
    MsgBox(64, "Info", "IsDeclared(""hForm"")? " & IsDeclared("hForm") & @CRLF & "0 stands for not declared")   ; -1 stands for local variable

    $hForm = GUICreate('', 397, 339)    ;it is now declared by default as local due to the assignment.
    MsgBox(64, "Info", "IsDeclared(""hForm"")? " & IsDeclared("hForm") & @CRLF & "-1 stands for local variable")    ; -1 stands for local variable

    GUICtrlCreateLabel('Test', 20, 20, 60, 21, $SS_CENTERIMAGE)
    GUISetState(@SW_SHOW, $hForm)

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    Wend
EndFunc 

Hope you understand from the example, ask if further queries are present.

Regards :)

Edited by PhoenixXL
1 person likes this

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

Thanks  :) 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0