|
发表于 2004-3-10 18:56:00
|
显示全部楼层
根据你所说的,那参数可要一个一个传递
比喻我要传一个数列,代码如下:
int fzg2() //fzg2为ads_defun定义的命令
{
resbuf* pArg = acedGetArgs();
CGearDialog Dlg;
short Z;
double c,Ha,M,a,bb,ds;
Z=Dlg.m_nZ;
.......
res_list=acutBuildList(RTSHORT,Z,
RTREAL,c,
RTREAL,Ha,
RTREAL,M,
RTREAL,ds,
RTREAL,bb,0);
if(res_list!=NULL){
acdbFail("创建表失败!\n");
return 0;}
acedRetList(res_list);
acutRelRb(res_list);
// TODO: Implement the command
return RTNORM;
}
在lisp里
(setq mylist (list '0,'0,'0,'0,'0,'0))
(setq aa1 (fzg2 mylist))
setq Z (nth 0 aa1)
c (nth 1 aa1)
Ha(nth 2 aa1)
M (nth 3 aa1)
ds(nth 4 aa1)
bb(nth 5 aa1)
错误是; 错误: 无效的数据类型或数据溢出: 0,(autocad命令行提示)
不解,尽请赐教!
|
|