define Class myclass as de Olepublic prop1='' prop2='' procedure MakeCAClass(lcCAfilename As string) as Integer * 'String-ify' file lcFileasStr=filetostr(lcCAfilename) * Get the cursor name .. we'll use it as the property too. lcname=strextract(<CURSORNAME></CURSORNAME>) Public &lcname this.addproperty(&lcname) public &lcname this.&lcname=CreateObject('Cursorclass', lcCAfilename) & Add CursorAdapter return 1 Endproc enddef Define CursorClass as cursoradapter Proc Init (lcCAfilename as String) *Make Cursor adapter from definitions in File. ........ endproc enddef Im my main.prg Ive got ... * after compile the above as a dll. the following 2 lines work lxDataenv=createObject('mycom.myclass') ?lxDataenv.MakeCAClass('Mytable_definitions_file') *--- This line does not work when calling the DLL ( Work when Class Code is *--- called from procedure file though) This leads me to believe that i'm missing *--- something with regards to COM behavior. ?lxdataenv.mytable.selectcmdthe above line returns (unknown member mytable) as an error.