I have the following vba code donated by Mike Tuersley for calling dll procedures from vba but I want to translate it to Vlisp and am having problems (a little rusty in Lisp). And yes, the dll is registered. heres the original vba stuff: Sub DLLExample() 'declare object thru which we access our dll Dim VB6DLL As Object 'capture the dll by using the DLL Name "." Class Module Name that holds the 'function/sub you're going to call 'NOTE This DLL needs to be in the AutoCAD support path - DO NOT REFERENCE IT 'TO THIS PROJECT!!!!!!!!!!!!!! Set VB6DLL = ThisDrawing.Application.GetInterfaceObject("DLLExample.Class1") 'run whatever public sub is available from our DLL's class module 'in this case it is RunMe 'NOTE: VB6DLL will wait and wait while the dll is in use then it will 'come back to the next line here: VB6DLL.RunMe 'clean up before leaving Set VB6DLL = Nothing End Sub Now heres what I did in Vlisp: (vl-load-com) (defun c:test( / interface) (setq interface (vla-getinterfaceobject "DLLExample.Class1")) ; error: bad argument type: VLA-OBJECT "DLLExample.Class1" (vlax-invoke-method interface "RunMe") (setq interface nil) ) any pointers would be appreciated, Thanks