IF PROGRAM() != "MYCLASS" ?"this file MUST BE NAMED 'myclass.prg'" return ENDIF IF FILE("myclass.dll") DECLARE integer DllUnregisterServer IN myclass.dll DllUnregisterServer() CLEAR DLLS ENDIF BUILD PROJECT myserver FROM myclass BUILD DLL myserver from myserver recomp *now test this COM server: ox = CreateObject("myserver.myclass") && create the server object ? "external = ", SYS(3095,ox), "Internal ",ox.IDispatch DEFINE CLASS myclass AS session OLEPUBLIC PROCEDURE IDispatch RETURN SYS(3095,CreateObject("myserver.myclass")) ENDDEFINE