When you run an exe even classes defined as olepublic are not necessarily instantiated as public OLE objects. If you CreateObject("YourOlePublicClass") with the simple VFP class name the normal VFP class instanciation is in effect. Only if you instanciate it with the OLE class name (typically "YourExeFileName.YourOlePublicClass") it will be visible to OLE and eg GetObject.
Therefore, if you want to make your exe available for OLE automation, you need more than make all it's classes OLEPUBLIC and recompile.
Take a look here:
http://blogs.msdn.com/calvin_hsia/archive/2006/04/07/570958.aspxBye, Olaf.