spaceh 发表于 2004-11-1 09:25:00

[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-&gt;setAt("FILE_INFO", pObj1, rId1);<BR>MyObject是我自己定义的派生于AcDbObject的定制类。<BR>pDict是指向用户对象字典的指针(已经有这个指针了),<BR>pObj1是加入字典中的对象的指针(这个地方我NEW得对不对呢)?<BR>此段代码的执行返回值为什么是eWrongObjectType呢,<BR>求教诸位大侠了^_^<BR>多谢!</FONT>

easypower 发表于 2004-11-1 12:52:00

你的自定义实体有没有<FONT size=2>MyObject::</FONT>rxInit();

spaceh 发表于 2004-11-2 19:20:00

有啊!


我的自定义类里面:


void InitApplication()<BR>{<BR>        // NOTE: DO NOT edit the following lines.<BR>        //{{AFX_ARX_INIT<BR>        <FONT size=2>MyObject</FONT>::rxInit();


.......


}

easypower 发表于 2004-11-3 11:00:00

InitApplication()你在哪执行的?

spaceh 发表于 2004-11-12 17:30:00

谢谢版主<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()下吗,我尝试了一下好像还是老错误啊。实在是不知道什么问题,呵呵,见笑了!

easypower 发表于 2004-11-12 18:19:00

再你的dbx中InitApplication。


把你的工程贴上来,我可以帮你看看

spaceh 发表于 2004-11-13 19:46:00

我要整理一下才能传,最近在忙其他的事情了,近二天传上来!^_^

spaceh 发表于 2004-11-26 12:02:00

问题暂时找出来了,就是在我使用这个类的时候还没有执行initApplication函数,所以会出现类型错误,调换一下就可以了,呵呵,多谢各位!thanks。
页: [1]
查看完整版本: [ARX]派生于AcDbObject的定制类实体加入到对象字典的问题??