add to window from procedure
Posted: Mon Dec 15, 2008 4:52 pm
Anyone:
I've got my first hmg program functional, but when adding a procedure, called from a button, I get an error that I haven't been able to solve. I've read lots of sample programs, and many forum posts, but don't see what is wrong.
...here is end of main() :
nTextTop += nTextIncr
@ nTextTop,70 BUTTON Button_1 CAPTION "Update" WIDTH 70 HEIGHT 26 ACTION DoUpdate()
@ nTextTop,270 BUTTON Button_2 CAPTION "Not now" WIDTH 70 HEIGHT 26 ACTION MsgInfo('Skip')
READ
endif
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1 // this is line 176
Return
PROCEDURE DoUpdate
// copy net file to local dir
nTextTop += nTextIncr
@ nTextTop,nTextLeft LABEL Label_Seven ;
VALUE "Copying files..." ;
WIDTH 450 ;
HEIGHT 27 ;
FONT "Arial" SIZE 10 ;
FONTCOLOR BLACK BOLD // this is line 187
COPY FILE (NETWORK_DRIVE + NETWORK_DIRECT + EXECUTABLE_NAME) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_TWO )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_THREE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_FOUR )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_FIVE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_SIX )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_SEVEN )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_EIGHT )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_NINE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_TEN )
nTextTop += nTextIncr
@ nTextTop,nTextLeft LABEL Label_Eight ;
VALUE "Copy Completed --- press any key..." ;
WIDTH 450 ;
HEIGHT 27 ;
FONT "Arial" SIZE 10 ;
FONTCOLOR BLACK BOLD
// inkey(0)
RETURN
----------------------------------------------------------
Error BASE/1081 Argument error: +
Called from _ISWINDOWDEFINED(2540)
Called from _DEFINELABEL(87)
Called from DOUPDATE(187)
...
Called from MAIN(176)
-----------------------------------------------
making some vars PUBLIC did not help:
PUBLIC Form_1, Label_Seven, Label_Eight
PUBLIC nTextTop := 28, nTextLeft := 22, nTextIncr := 24, cLabelText
The sample programs often MODIFY some property, but can't a procedure also ADD to the existing window? Any suggestion is appreciated!
Tom
I've got my first hmg program functional, but when adding a procedure, called from a button, I get an error that I haven't been able to solve. I've read lots of sample programs, and many forum posts, but don't see what is wrong.
...here is end of main() :
nTextTop += nTextIncr
@ nTextTop,70 BUTTON Button_1 CAPTION "Update" WIDTH 70 HEIGHT 26 ACTION DoUpdate()
@ nTextTop,270 BUTTON Button_2 CAPTION "Not now" WIDTH 70 HEIGHT 26 ACTION MsgInfo('Skip')
READ
endif
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1 // this is line 176
Return
PROCEDURE DoUpdate
// copy net file to local dir
nTextTop += nTextIncr
@ nTextTop,nTextLeft LABEL Label_Seven ;
VALUE "Copying files..." ;
WIDTH 450 ;
HEIGHT 27 ;
FONT "Arial" SIZE 10 ;
FONTCOLOR BLACK BOLD // this is line 187
COPY FILE (NETWORK_DRIVE + NETWORK_DIRECT + EXECUTABLE_NAME) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_TWO )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_THREE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_FOUR )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_FIVE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_SIX )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_SEVEN )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_EIGHT )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_NINE )
COPY FILE (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_ONE) ;
TO (LOCAL_DRIVE + LOCAL_DIRECT + EXECUTABLE_NAME_TEN )
nTextTop += nTextIncr
@ nTextTop,nTextLeft LABEL Label_Eight ;
VALUE "Copy Completed --- press any key..." ;
WIDTH 450 ;
HEIGHT 27 ;
FONT "Arial" SIZE 10 ;
FONTCOLOR BLACK BOLD
// inkey(0)
RETURN
----------------------------------------------------------
Error BASE/1081 Argument error: +
Called from _ISWINDOWDEFINED(2540)
Called from _DEFINELABEL(87)
Called from DOUPDATE(187)
...
Called from MAIN(176)
-----------------------------------------------
making some vars PUBLIC did not help:
PUBLIC Form_1, Label_Seven, Label_Eight
PUBLIC nTextTop := 28, nTextLeft := 22, nTextIncr := 24, cLabelText
The sample programs often MODIFY some property, but can't a procedure also ADD to the existing window? Any suggestion is appreciated!
Tom