几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】为何不能加载arx程序,请指点,在线等,告急啊 (http://www.dimcax.com/hust/showthread.php?t=7097)

yang686526 2009-04-16 07:26 PM

【转帖】为何不能加载arx程序,请指点,在线等,告急啊
 
为何不能加载arx程序,请指点,在线等,告急啊
为何不能加载arx程序,请指点,在线等,告急啊
#include "stdafx.h"
#include <aced.h>
#include <rxregsvc.h>
// 声明初始化函数和卸载函数
void initapp();
void unloadapp();
// 声明命令的执行函数
void helloworld();
// 加载应用程序时被调用的函数
void initapp()
{
//使用autocad命令机制注册一个新命令
acedregcmds->addcommand("helloworld_commands",
"hello",
"bonjour",
acrx_cmd_transparent,
helloworld);
}
// 卸载应用程序时被调用的函数
void unloadapp()
{
//删除命令组
acedregcmds->removegroup("helloworld_commands");
}
// 实现hello命令的函数
void helloworld()
{
ads_alert("\nhello, world!");
}
// 入口点函数
extern "c" acrx::appretcode
acrxentrypoint(acrx::appmsgcode msg, void* pkt)
{
switch (msg)
{
case acrx::kinitappmsg:
acrxdynamiclinker->unlockapplication(pkt);
//acrxregisterappmdiaware(pkt);
//acrxdynamiclinker->registerappmdiaware(pkt);
initapp();
break;
case acrx::kunloadappmsg:
unloadapp();
break;
default:
break;
}
return acrx::kretok;
}
以上是个很简单的启蒙例子,大家都很清楚,但是在我这里出现了这样的问题,请高手指点
已经提示说加载成功了,但是运行就会出现以下的情况:未知命令“firstarx
这个是加载的时候出现的提示:-( arx application : g:\zuoye\firstarx\debug\firstarx.arx is not mdi aware. :-(
已成功加载 firstarx.arx。
肯定是未知命令firstarx,因为你根本就没注册这个命令。。你注册的是
"hello",//全球命令名
"bonjour",//本地命令名
回复:(lzgvcd)为何不能加载arx程序,请指点,在线等...
不明白你说的,标题说不能加载,怎么会有加载成功的提示。
我的也和你一样,用这个代码,编译成功,可是加载的时候老是失败!
你注释掉的那一句就是支持多文档用的:acrxdynamiclinker->registerappmdiaware(pkt);
autocad 在r14及以前的版本只支持单文档模式,从


所有的时间均为北京时间。 现在的时间是 04:59 AM.