- UID
- 22042
- 积分
- 180
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-12-26
- 最后登录
- 1970-1-1
|
楼主 |
发表于 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编辑器中可用? |
|