[ARX]派生于AcDbObject的定制类实体加入到对象字典的问题??
派生于AcDbObject的定制类实体加入到对象字典的问题??问题如标题:
具体如下:
MyObject*pObj1 = new MyObject();
AcDbObjectId rId1;
Acad::ErrorStatus rs=pDict->setAt("FILE_INFO", pObj1, rId1);
MyObject是我自己定义的派生于AcDbObject的定制类。
pDict是指向用户对象字典的指针(已经有这个指针了),
pObj1是加入字典中的对象的指针(这个地方我NEW得对不对呢)?
此段代码的执行返回值为什么是eWrongObjectType呢,
求教诸位大侠了^_^
多谢! 你的自定义实体有没有MyObject::rxInit(); 有啊!
我的自定义类里面:
void InitApplication()
{
// NOTE: DO NOT edit the following lines.
//{{AFX_ARX_INIT
MyObject::rxInit();
.......
} InitApplication()你在哪执行的? 谢谢版主easypower的帮助,前几天回家了,呵呵,没有弄程序,今天来看到回复真是开心,呵呵。
我的 MyObject::rxInit();是放在自定义类的InitApplication()里面执行的,这个自定义类是一个单独的工程,生成为一个dbx文件。上面的(提问题的)代码是在我的新的工程test.dsw里添加的,你的意思是要我把MyObject::rxInit();放在当前我的test.dsw的InitApplication()下吗,我尝试了一下好像还是老错误啊。实在是不知道什么问题,呵呵,见笑了! 再你的dbx中InitApplication。
把你的工程贴上来,我可以帮你看看 我要整理一下才能传,最近在忙其他的事情了,近二天传上来!^_^ 问题暂时找出来了,就是在我使用这个类的时候还没有执行initApplication函数,所以会出现类型错误,调换一下就可以了,呵呵,多谢各位!thanks。
页:
[1]