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