I solved this by writing an activex / COM wrapper for my dll, which I think should facilitate its communication in the future. Running the thread in the swamp gave some answers from nice people on how to call COM from Visual Lisp. For the record, it looks something like this:
//in c++... (header and IDL file also needed) hresult timestwo(double in,double* out) { *out = in*2; return S_OK; } ;; in Lisp... (vl-load-com) (setq myinstance (vlax-create-object "mycomwrapperdll.mycomwrapperclass")) (setq num 12.34) (vlax-invoke-method myinstance 'timestwo num 'newnum) (vlax-release-object myinstance) ;; newnum now contains 24.68
Sideshow bob
source share