找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 863|回复: 13

[ARX程序]:请问XDSOFT老师!

[复制链接]
发表于 2002-8-15 01:10:40 | 显示全部楼层 |阅读模式

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

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

×
请问如何在ARX程序中实现加载我的LISP程序,是不是用ads_command函数,调用AppLoad,如何用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-15 01:16:06 | 显示全部楼层

Re: [ARX程序]:请问XDSOFT老师!

最初由 chsqchne 发布
[B]请问如何在ARX程序中实现加载我的LISP程序,是不是用ads_command函数,调用AppLoad,如何用? [/B]


一个方法,你可以用“字符串发送到命令行”,把“(load "x:\\abc.lsp")发送到命令行,让LISP解释程序执行,用这个做关键字搜索下论坛,论坛以前讨论过。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-8-15 02:23:29 | 显示全部楼层
在主题"如何让ARX调用LISP函数-兼谈如何发送字符串到命令行让ACAD执行"提到可以使用ads_command()或者ads_cmd()函数来执行AutoCAD的命令(包括AutoLISP函数、
AutoCAD的内部命令以及注册的ARX应用程序),是不是可以在ARX程序中调用?
如ads_command("load","x:\\abc.lsp");
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-15 02:32:56 | 显示全部楼层
最初由 chsqchne 发布
[B]在主题"如何让ARX调用LISP函数-兼谈如何发送字符串到命令行让ACAD执行"提到可以使用ads_command()或者ads_cmd()函数来执行AutoCAD的命令(包括AutoLISP函数、
AutoCAD的内部命令以及注册的ARX应用程序),是不是?.. [/B]


LOAD不是ACAD命令,是LISP函数,所以你不能这么做。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-8-15 03:14:52 | 显示全部楼层
是否把如下代码放在ARX中,放在何处?然后为hWndAcad=_hdllInstance;cmd="(load "x:\\abc.lsp") ;我把它放在命令文件中,然后在命令函数内调用。
Link时发现多个错误,其中'SCtring' : undeclared identifier。请问要怎样才好?

  void SendCommandToAutoCAD(HWND hWndAcad,CString cmd)
  {
   if (!hWndAcad)
     return;
   COPYDATASTRUCT cmdMsg;
   cmdMsg.dwData=(DWORD)1;
   cmdMsg.cbData=(DWORD)_tcslen(cmd)+1;
   cmdMsg.lpData=cmd.GetBuffer(cmd.GetLength()+1);
   SendMssage(hWndAcad,WM_COPYDATA,(WPARAM)hWndAcad,(LPARAM)&cmdMsg);
  }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-16 07:58:47 | 显示全部楼层
最初由 chsqchne 发布
[B]是否把如下代码放在ARX中,放在何处?然后为hWndAcad=_hdllInstance;cmd="(load "x:\\abc.lsp") ;我把它放在命令文件中,然后在命令函数内调用。
Link时发现多个错误,其中'SCtring' : undeclared identifier。请... [/B]


SCtring这个应该是CString才对
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-8 11:59:59 | 显示全部楼层
请问包含那些头文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-9-9 08:59:57 | 显示全部楼层
你调试一下,就可以看出少不少头文件:)))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-9 20:23:51 | 显示全部楼层
可能是少了,我的头文件包含:
#include <aced.h>
#include <dbents.h>
#include <dbsymtb.h>
#include <adslib.h>
#include <string.h>
#include <geassign.h>
编译时,还是出错:
E:\Program Files\Microsoft Visual Studio\MyProjects\cmd\cmdCommands.cpp(13) : error C2061: syntax error : identifier 'CString'
E:\Program Files\Microsoft Visual Studio\MyProjects\cmd\cmdCommands.cpp(301) : error C2061: syntax error : identifier 'CString'
E:\Program Files\Microsoft Visual Studio\MyProjects\cmd\cmdCommands.cpp(307) : error C2065: 'cmd' : undeclared identifier
E:\Program Files\Microsoft Visual Studio\MyProjects\cmd\cmdCommands.cpp(308) : error C2228: left of '.GetBuffer' must have class/struct/union type
E:\Program Files\Microsoft Visual Studio\MyProjects\cmd\cmdCommands.cpp(308) : error C2228: left of '.GetLength' must have class/struct/union type
E:\Program Files\Microsoft Visual Studio\MyProjects\cmd\cmdCommands.cpp(309) : error C2065: 'SendMssage' : undeclared identifier
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-9 20:26:28 | 显示全部楼层
头文件包含:
#include "StdAfx.h"
#include "StdArx.h"
#include <aced.h>
#include "dbents.h"
#include  "dbsymtb.h"
#include  "adslib.h"
#include  "string.h"
#include  "geassign.h"
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-9 22:52:05 | 显示全部楼层
最初由 chsqchne 发布
[B]头文件包含:
#include "StdAfx.h"
#include "StdArx.h"
#include <aced.h>
#include "dbents.h"
#include  "dbsymtb.h"
#include  "adslib.h"
#include  "string.h"
#include  "geassign.h" [/B]


你生成的ARX模板用了MFC了吗?

CString是MFC里面的类。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-10 19:36:53 | 显示全部楼层
是的,请问还要包含头文件吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-10 19:51:42 | 显示全部楼层
最初由 chsqchne 发布
[B]是的,请问还要包含头文件吗? [/B]


用MFC生成的ARX框架,默认就包括CString类了,不行,你手工INCLUDE下,试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-12 02:46:08 | 显示全部楼层
用CString不可以,我想我可以改CString为LPSTR,可不可以?只是COPYDATASTRUCT结构变量, SendCommandToAutoCAD函数不知道需要那些头文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 02:14 , Processed in 0.456416 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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