起子 发表于 2012-9-11 11:54:43

vlax-invoke与vlax-invoke-method有何区别?

函数参考里面只说了cad2000以前版本中为vlax-invoke-method
但是使用中,如果是带参数的情况下,貌似还是有区别的。

自己编写的activex控件,类名为vlisp.lisp,有两个方法,一个是不带参数的start1方法,另外一个是以acadApp为参数的start2方法,在CAD2004中,使用vlax-invoke与vlax-invoke-method两个函数有区别。
(setq test (vlax-create-object "vblisp.lisp"))

要使用start1方法
(vlax-invoke-method test 'start1)和(vlax-invoke test 'start1)运行都没有问题;

若要使用start2方法
(vlax-invoke-method test 'start2 (vlax-get-acad-object))提示错误:Automation 错误。未设置对象变量或With block变量
(vlax-invoke test 'start2 (vlax-get-acad-object))则可以正常运行。

页: [1]
查看完整版本: vlax-invoke与vlax-invoke-method有何区别?