Я решил эту проблему, написав обертку activex / COM для моей dll, которая, на мой взгляд, должна упростить ссылки в будущем. Начав тему в Болото , я получил несколько хороших ответов о том, как вызывать COM из Visual Lisp. Для справки, это выглядит примерно так:
//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