>LOCAL loTryThis >loTryThis = NEWOBJECT("Bobtest","Vfp9Obj1.fxp") >SET STEP ON >loTryThis.DoSomething() > >DEFINE CLASS Bobtest as session > > procedure Init > ENDPROC > > PROCEDURE DoSomething() > LOCAL loTest > loTest = NEWOBJECT("BobTest","Vfp9Obj2.fxp") &&& Other prg file !!! > loTest.DoSomething() > ENDPROC >ENDDEFINE >>
>DEFINE CLASS Bobtest as session > > procedure Init > ENDPROC > > PROCEDURE DoSomething() > WAIT WINDOW "test" > ENDPROC >ENDDEFINE >>
CLEAR CLASS basebob CLEAR SET TEXTMERGE TO "namespace1.prg" OFF noshow \DEFINE CLASS Bobtest as basebob \ \ Procedure COMPUTE(A,B) \ RETURN basebob::COMPUTE(A,B) \ \ENDDEFINE \DEFINE CLASS basebob as session \ namespace = "namespace1" \ \ Procedure COMPUTE(A,B) \ RETURN a+b \ \ENDDEFINE SET TEXTMERGE TO COMPILE "namespace1.prg" SET TEXTMERGE TO "namespace2.prg" OFF noshow \DEFINE CLASS Bobtest as basebob \ \ Procedure COMPUTE(A,B) \ RETURN basebob::COMPUTE(A,B) \ \ENDDEFINE \DEFINE CLASS basebob as session \ namespace = "namespace2" \ \ Procedure COMPUTE(A,B) \ RETURN a-b \ \ENDDEFINE SET TEXTMERGE TO COMPILE "namespace2.prg" WITH NEWOBJECT("BobTest","namespace1.fxp") ? .namespace,GETPEM(.Class,"namespace"), .COMPUTE(1,1) ENDWITH ? WITH NEWOBJECT("BobTest","namespace2.fxp") ? .namespace,GETPEM(.Class,"namespace"), .COMPUTE(1,1) ENDWITH ? WITH NEWOBJECT("BobTest","namespace1.fxp") ? .namespace,GETPEM(.Class,"namespace"), .COMPUTE(1,1) ENDWITH