为何不能加载arx程序,请指点,在线等,告急啊
<p>#include "stdafx.h"<br/>#include <aced.h><br/>#include <rxregsvc.h><br/>// 声明初始化函数和卸载函数<br/>void initApp();<br/>void unloadApp();<br/>// 声明命令的执行函数<br/>void HelloWorld();<br/>// 加载应用程序时被调用的函数<br/>void initApp()<br/>{<br/> //使用AutoCAD命令机制注册一个新命令<br/> acedRegCmds->addCommand("HELLOWORLD_COMMANDS",<br/> "Hello",<br/> "Bonjour",<br/> ACRX_CMD_TRANSPARENT,<br/> HelloWorld);<br/>}<br/>// 卸载应用程序时被调用的函数<br/>void unloadApp()<br/>{<br/>//删除命令组<br/> acedRegCmds->removeGroup("HELLOWORLD_COMMANDS");<br/>}<br/>// 实现Hello命令的函数<br/>void HelloWorld()<br/>{<br/> ads_alert("\nHello, World!");<br/>}<br/>// 入口点函数<br/>extern "C" AcRx::AppRetCode<br/>acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)<br/>{<br/> switch (msg)<br/> {<br/> case AcRx::kInitAppMsg:<br/> acrxDynamicLinker->unlockApplication(pkt);<br/> //acrxRegisterAppMDIAware(pkt);<br/> //acrxDynamicLinker->registerAppMDIAware(pkt);<br/> initApp();<br/> break;<br/> case AcRx::kUnloadAppMsg:<br/> unloadApp();<br/> break;<br/> default:<br/> break;<br/> }<br/> return AcRx::kRetOK;<br/>}</p><p>以上是个很简单的启蒙例子,大家都很清楚,但是在我这里出现了这样的问题,请高手指点</p><p>已经提示说加载成功了,但是运行就会出现以下的情况:未知命令“FIRSTARX</p><p>这个是加载的时候出现的提示:-( ARX application : G:\zuoye\firstArx\Debug\firstArx.arx is NOT MDI aware. :-(<br/>已成功加载 firstArx.arx。</p> <p>肯定是未知命令FIRSTARX,因为你根本就没注册这个命令。。你注册的是</p><p>"Hello",//全球命令名<br/>"Bonjour",//本地命令名<br/></p>回复:(lzgvcd)为何不能加载arx程序,请指点,在线等...
<p>不明白你说的,标题说不能加载,怎么会有加载成功的提示。</p><p>我的也和你一样,用这个代码,编译成功,可是加载的时候老是失败!</p> 你注释掉的那一句就是支持多文档用的:acrxDynamicLinker->registerAppMDIAware(pkt);<br/>AutoCAD 在R14及以前的版本只支持单文档模式,从2000以后支持多文档,如果你的ARX程序没有注册为支持多文档模式,加载时就会有上面的提示警告
页:
[1]