明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2328|回复: 3

为何不能加载arx程序,请指点,在线等,告急啊

[复制链接]
发表于 2007-8-29 19:03:00 | 显示全部楼层 |阅读模式

#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。

发表于 2007-8-31 09:23:00 | 显示全部楼层

肯定是未知命令FIRSTARX,因为你根本就没注册这个命令。。你注册的是

"Hello",//全球命令名
"Bonjour",//本地命令名

回复 支持 1 反对 0

使用道具 举报

发表于 2007-9-8 22:14:00 | 显示全部楼层

回复:(lzgvcd)为何不能加载arx程序,请指点,在线等...

不明白你说的,标题说不能加载,怎么会有加载成功的提示。

我的也和你一样,用这个代码,编译成功,可是加载的时候老是失败!

发表于 2007-9-12 08:55:00 | 显示全部楼层
你注释掉的那一句就是支持多文档用的:acrxDynamicLinker->registerAppMDIAware(pkt);
AutoCAD 在R14及以前的版本只支持单文档模式,从2000以后支持多文档,如果你的ARX程序没有注册为支持多文档模式,加载时就会有上面的提示警告
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 17:54 , Processed in 0.174116 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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