Jump to content
Sign in to follow this  
Viktor1703

OnAutoItStartRegister is bug ?

Recommended Posts

Viktor1703

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
PhoenixXL

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
  • Like 1

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
Viktor1703

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  

×