革天明 发表于 2016-6-21 15:52:02

ObjectARX如何定义一个可供lisp调用的函数?

acrxEntryPoint.cpp中在添加命令的地方添加如下所示代码:
ACED_ADSSYMBOL_ENTRY_AUTO(CsupportApp,YTMtoLispGetNetTime,false)
YTMtoLispGetNetTime是函数名,可供lisp调用的

上图是函数的定义。


static int ads_YTMtoLispGetNetTime()
{
ACHAR *p= _T("ObjectARX");
return acedRetStr(p);
}

这里不要管static int 的(int),返回值是靠return acedRetStr()来决定的,其变量类型也是如此,如果要定义一个返回值为bool的函数,还是static int 。

下图是【省长】重庆-结构-若海lisp/C++提供的例图,

针对不同的返回值,上图中已经指明,可根据需要定义自己需要的函数。对我而言最重要的是明白了static int 这个不是决定函数返回值类型的。
我也是在高飞鸟的指导下才明白的,在此要感谢高飞鸟和【省长】重庆-结构-若海lisp/C++!

机械工程师 发表于 2016-6-22 08:30:21

谢谢分享。

clinber 发表于 2016-6-28 13:48:36

其实我还不明白

革天明 发表于 2016-6-29 09:42:23

clinber 发表于 2016-6-28 13:48 static/image/common/back.gif
其实我还不明白

比照着做,成功就好

clinber 发表于 2016-6-29 13:56:21

革天明 发表于 2016-6-29 09:42 static/image/common/back.gif
比照着做,成功就好

我还在学基础c++ primer plus
页: [1]
查看完整版本: ObjectARX如何定义一个可供lisp调用的函数?