找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 371|回复: 4

[求助]: 请晓东帮帮忙看一下!!!

[复制链接]
发表于 2003-11-18 20:05:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我用ARX做的函数在VLISP中调用为什么不行(提示函数未定义)?
还有如何让我做的函数能在VLISP中调用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-11-18 20:15:12 | 显示全部楼层
arx要加载
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-11-18 20:29:06 | 显示全部楼层
ARX已加载了,在CAD命令行可以用!
"Command: !aaa"
"<Ext. ARXSubr: 0 #2e>"
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-19 08:47:49 | 显示全部楼层
你在程序中注册命令调用的函数为:
acedRegCmds->addCommand("CMD_GROUP", "GLOBAL_CMD_NAME",
    "LOCAL_CMD_NAME", ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET, func1);
但如要想在LISP中调用就要用函数:
ads_defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-11-19 21:33:03 | 显示全部楼层
我不是这个意思........!!!下面是源码:
struct func_entry { char *func_name; int (*func) (); };
static struct func_entry func_table[] = {{"Ltemp", Ltemp}};
AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
    dofun();
    switch(msg)
    {
        case AcRx::kInitAppMsg:
          acrxUnlockApplication(pkt);
          funcload();
          break;
        default:
          break;
    }
    return AcRx::kRetOK;
}
static int funcload()
{
    short i;
    for (i = 0; i < ELEMENTS(func_table); i++) {
        if (!ads_defun(func_table.func_name, i))
            return RTERROR;
    }
    return RTNORM;
}
static int
dofun()
{
    int val;
    if ((val = ads_getfuncode()) < 0 || val >= ELEMENTS(func_table)) {
        ads_fail("Received nonexistent function code.");
        return RTERROR;
    }
    return (*func_table[val].func)();
}
int Ltemp()
{
   CString PathName,FileName;
   static TCHAR szFilter[]=_T("Drawing(*.dwg)|*.dwg|");
   CFileDialog file(true,_T("*.dwg"),NULL,OFN_HIDEREADONLY|OFN_EXPLORER|OFN_NODEREFERENCELINKS,szFilter,NULL);
   file.m_ofn.lpstrTitle="^_^打开文件";
   int fmodal=file.DoModal();
   FileName=file.GetFileName();
   PathName=file.GetPathName();
   PathName=PathName.Left(PathName.GetLength()-FileName.GetLength());
   ads_retstr(PathName);
   return RTNORM;
}
现在我在LISP中调用(Ltemp)此函数可用,但LISP中又用到了VLISP函数,在VLISP的编辑器中就不认这个函数了!
能否让ads_defun定义的函数在VLISP编辑器中可用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 08:08 , Processed in 0.162572 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表