You should put all of your DEFINE CLASS... code at the end of your prg file. Here's what the help file says:
"You cannot follow procedures in a .prg file with normal executable program code. Only class definitions, other procedures, and user-defined functions can follow the first DEFINE CLASS, PROCEDURE or FUNCTION statement in the file. For more information, see User-Defined Procedures and Functions."
Kurt
>Is there some sort of rule of where to define a class in the MAIN program of a project? Seems that if I use DEFINE...ENDDEFINE, everything after that has errors because it thinks it should be in a function when I try to build the EXE. Thanks!
>
>UPDATE: I found this, but I don't know why it would be problem:
>
>
>Statement is not in a procedure (Error 1931)
>Statements are not allowed after the ENDPROC clause. For more information, see DEFINE CLASS.
>
>
>I put this in my MAIN prg just to test defining a class:
>
>
>DEFINE CLASS EMPS_Out_Class AS SESSION OLEPUBLIC
>
> FUNCTION Multiply(tnOne AS INTEGER, tnTwo AS INTEGER) AS INTEGER
> LOCAL lnResult
> ENDFUNC
>
>ENDDEFINE
>
>
>And all lines after it get reported as errors during the build. Why is having an ENDFUNC bad?