ObjectARX
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

AcDbDoubleClickEdit not working!

6 REPLIES 6
Reply
Message 1 of 7
user_ACAD2010
1001 Views, 6 Replies

AcDbDoubleClickEdit not working!

Hi,

I have an arx application in which i handelled double click event for line entity. My code is as follows:

class AcDbDoubleClickLine : public AcDbDoubleClickEdit
{
public:
AcDbDoubleClickLine();
virtual ~AcDbDoubleClickLine();
void finishEdit(void);
void startEdit(AcDbEntity *pEnt, AcGePoint3d pt);

};

void InitApplication()
{
AcDbDoubleClickEdit::rxInit();

AcDbDoubleClickLine *pLineEdit = new AcDbDoubleClickLine;
AcDbLine::desc()->addX(AcDbDoubleClickEdit::desc(),pLineEdit);
}

For AutoCAD 2007 it was working properly.
Now while porting this application to AutoCAD 2010, i am getting following error:
unresolved external symbol "public: static void __cdecl AcDbDoubleClickEdit::rxInit(void)" (?rxInit@AcDbDoubleClickEdit@@SAXXZ)


Instead of using AcDbDoubleClickEdit::rxInit(); i used AcDbDoubleClickLine::rxInit(), the problem resolves but then double click event is not getting called.
I have given reference to acapp.arx.Is there is any chage in AcDbDoubleClickEdit class?
Also where i can find help for AcDbDoubleClickEdit class?
Thanks in advance.
6 REPLIES 6
Message 2 of 7
Anonymous
in reply to: user_ACAD2010


Check to see if your code has the following line in
it:

 



style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">ACRX_DEFINE_MEMBERS(AcDbDoubleClickEdit);



style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">
 



style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">If so, comment it out and
try recompiling.  If you aren't already doing so you will also need to
modify your app to link against acapp.lib.


style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">


--
Mike
Dickason
AutoCAD SWD


Autodesk, Inc.



face=Arial>

 

Message 3 of 7

I am not using ACRX_DEFINE_MEMBERS(AcDbDoubleClickEdit);
I already linked acapp.lib.
Message 4 of 7

Can anybody help me regarding AcDbDoubleClickEdit class problem? I need this urgently. I am not able to find any help regarding this class.
Message 5 of 7

Hi.

Did you ever get to solve this issue?

I tried linking against acapp.lib and every other lib that comes with ObjectARX 2010 with no success. But I did try using the following macro:

ACRX_NO_CONS_DEFINE_MEMBERS(AcDbDoubleClickEdit,AcRxObject)

This one defines the rxInit() method. Still, I'm not sure why this has changed in ARX. And this doesn't seem to be the expected way to handle, since the macro provides a default implementation.


Thanks. Edited by: userobjectarxmap on Dec 3, 2009 2:32 PM
Message 6 of 7

Hi.

Did you ever get to solve this issue?

I tried linking against acapp.lib and every other lib that comes with ObjectARX 2010 with no success. But I did try using the following macro:

ACRX_NO_CONS_DEFINE_MEMBERS(AcDbDoubleClickEdit,AcRxObject)

This one defines the rxInit() method. Still, I'm not sure why this has changed in ARX. And this doesn't seem to be the expected way to handle, since the macro provides a default implementation.


Thanks. Edited by: userobjectarxmap on Dec 3, 2009 2:32 PM
Message 7 of 7

The AcDbDoubleClickEdit functionality that was exposed in AcDblClkEditPE.arx is now rolled up in AcApp.arx and acad.lib.
For AutoCAD 2010 to make double click extension protocol to work.
1. Remove any loadModule() calls to AcDblClkEditPE.arx
2. Remove any calls to AcDbDoubleClickEdit::rxinit() as this is now done automatically for us.
3. Include the AcDblClkEdit.h
4. Add ACRX_DEFINE_MEMBERS(AcDbDoubleClickEdit); in one of your .cpp modules

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost