Acad 2006 to 2007 migration issue.

Acad 2006 to 2007 migration issue.

Anonymous
Not applicable
803 Views
5 Replies
Message 1 of 6

Acad 2006 to 2007 migration issue.

Anonymous
Not applicable
I have a custom db resident object that I'm adding to the db's AcGsView manually (instead of deriving from AcDbEntity). In Acad 2006 it never gave me any trouble but now, with 2007, it crashes Acad whenever I hover over it with the pick-box.

Here's the call stack at the break point.

-----------------------------------------------------------------
kernel32.dll!7c81eb33()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
kernel32.dll!7c81eb33()

msvcr80.dll!V6_HeapAlloc(unsigned int size=3765269347) Line 40 + 0x5 bytes C

msvcr80.dll!_CxxThrowException(void * pExceptionObject=0x07c1e9d0, const _s__ThrowInfo * pThrowInfo=0x00c39c6c) Line 166 C++

acad.exe!009a1490()
acad.exe!009a20bf()

msvcr80.dll!_callnewh(unsigned int size=4294967295) Line 135 + 0xb bytes C++

msvcr80.dll!malloc(unsigned int size=4294967295) Line 185 + 0x6 bytes C

msvcr80.dll!operator new(unsigned int size=4294967295) Line 59 + 0x8 bytes C++

acdb17.dll!6454ada3()
acdb17.dll!6482fe0e()
acdb17.dll!6459ce7d()
acdb17.dll!645d22a0()
acdb17.dll!645d2a7b()
acdb17.dll!649af2fc()

acdb17.dll!6458e62b()
acad.exe!004d5cca()
acad.exe!004d5b13()
acad.exe!007047b5()
acad.exe!005865d8()
acad.exe!00af7a4b()
acad.exe!005861a2()
acgs.dll!625bd67c()
select3d9.hdi!33854484()
select3d9.hdi!33853fe7()
heidi9.dll!33016f00()
heidi9.dll!3300ba55()
select3d9.hdi!33853d2d()
select3d9.hdi!33853d42()
acgs.dll!625b7d9c()
acgs.dll!625b7cfc()
acgs.dll!625ab8a9()
acgs.dll!625aebd6()
acgs.dll!625d3c42()
acgs.dll!625d4a51()
acgs.dll!6259e75a()
acgs.dll!625aa9af()
acgs.dll!6259c84a()
acgs.dll!6259c725()
acgs.dll!6259c6e6()
acgs.dll!6259b6df()
acgs.dll!6259ad44()
acgs.dll!6259701b()
acgs.dll!625fe4da()
acad.exe!0053b935()
acgs.dll!625926ad()
acgs.dll!625bcee7()
acgs.dll!62591cc5()
acgs.dll!62584e49()
acgs.dll!625bd326()

msvcr80.dll!_unlock(int locknum=4) Line 376 C

msvcr80.dll!free(void * pBlock=0xa0e3e9af) Line 65 + 0x7 bytes C

msvcr80.dll!free(void * pBlock=0xa0e3e9af) Line 115 + 0x5 bytes C

00000001()
acad.exe!00569eee()
acad.exe!004d43d8()
acad.exe!004d3549()
acad.exe!004d32c6()
acad.exe!005a8550()
acad.exe!005a88a6()
acad.exe!005a7110()
user32.dll!77d4b3a3()
user32.dll!77d4b3b7()
user32.dll!77d48744()
user32.dll!77d48826()
user32.dll!77d4883a()
user32.dll!77d4c64f()

mfc80u.dll!CWnd::DefWindowProcW(unsigned int nMsg=132, unsigned int wParam=0, long lParam=17039882) Line 1035 + 0x13 bytes C++

mfc80u.dll!CWnd::Default() Line 273 + 0x13 bytes C++

acad.exe!00479948()
acad.exe!0047992f()

mfc80u.dll!CWnd::OnWndMsg(unsigned int message=, unsigned int wParam=, long lParam=, long * pResult=) Line 2194 + 0x8 bytes C++

user32.dll!77d4b913()

-----------------------------------------------------------------
XXXX This call is the one that perplexes me... XXXX
-----------------------------------------------------------------
mfc80u.dll!CToolTipCtrl::AddTool(CWnd * pWnd=0x0000000f, const wchar_t * lpszText=0x00000000, const tagRECT * lpRectTool=0x00000000, unsigned int nIDTool=130151636) Line 153 + 0x14 bytes C++
-----------------------------------------------------------------

mfc80u.dll!CControlBar::WindowProc(unsigned int nMsg=2016485872, unsigned int wParam=132, long lParam=0) Line 504 + 0xc bytes C++

07c1f4d0()
mfc80u.dll!CWnd::WindowProc(unsigned int message=132, unsigned int wParam=0, long lParam=2016481292) Line 1741 + 0x17 bytes C++

mfc80u.dll!AfxCallWndProc(CWnd * pWnd=0x012c1bd8, HWND__ * hWnd=0x0141d924, unsigned int nMsg=0, unsigned int wParam=64, long lParam=2014520302) Line 243 C++

07c1fd28()

msvcr80.dll!_unlock(int locknum=4) Line 376 C

msvcr80.dll!free(void * pBlock=0x33601377) Line 65 + 0x7 bytes C

msvcr80.dll!free(void * pBlock=0x33601377) Line 115 + 0x5 bytes C

01475478()
gdi9.hdi!33604f1a()
dswhip.dll!3600eba4()
dswhip.dll!3600e39e()
dswhip.dll!3600d94c()
acad.exe!0060a304()
acad.exe!0060a176()
heidi9.dll!33015236()
heidi9.dll!33010310()
heidi9.dll!33015a87()
heidi9.dll!33010310()
heidi9.dll!330159fb()
heidi9.dll!3301579e()
heidi9.dll!330155ff()
acgs.dll!625aeb20()

msvcr80.dll!free(void * pBlock=0x627d5298) Line 115 + 0x5 bytes C

acge17.dll!626f1c5f()
acgs.dll!625935ef()
acgs.dll!6259649d()
acgs.dll!6259650a()
acgs.dll!6259646e()
acgs.dll!625936f7()
acgs.dll!62592074()
acgs.dll!62592c6f()

msvcr80.dll!_unlock(int locknum=2015116160) Line 376 C

msvcr80.dll!_unlock(int locknum=4) Line 376 C

msvcr80.dll!free(void * pBlock=0x06b19770) Line 65 + 0x7 bytes C

msvcr80.dll!free(void * pBlock=0x06b19770) Line 115 + 0x5 bytes C

gdi9.hdi!33604ce8()
gdi9.hdi!33604f1a()
dswhip.dll!3600912f()
dswhip.dll!3600904e()
acad.exe!0045de64()
acad.exe!0045dedb()
dswhip.dll!36047c1d()
msvcr80.dll!_unlock(int locknum=4) Line 376 C

msvcr80.dll!V6_HeapAlloc(unsigned int size=0) Line 36 + 0x7 bytes C

msvcr80.dll!V6_HeapAlloc(unsigned int size=0) Line 40 + 0x5 bytes C

00000001()
acad.exe!0048c2d7()
ntdll.dll!7c910833()
acad.exe!0048bc95()
acad.exe!0048a389()
ntdll.dll!7c910895()
ntdll.dll!7c912975()
ntdll.dll!7c910833()

mfc80u.dll!CThreadSlotData::GetThreadValue(int nSlot=0) Line 265 C++

acad.exe!0045ea65()
ac1st17.dll!65bf3065()
acdb17.dll!645111d6()
ac1st17.dll!65bf3065()
acdb17.dll!645111d6()
ac1st17.dll!65bf352f()
acdb17.dll!645683db()
acad.exe!0062ebfe()
acad.exe!00489dba()
acad.exe!00489849()
acad.exe!00486b39()
acad.exe!00477c79()
acad.exe!00486115()
acad.exe!00485e94()
kernel32.dll!7c80b50b()
kernel32.dll!7c8399f3(
kernel32.dll!7c825bc4()
-----------------------------------------------------------------


I can see why there might be a a tooltip being added while the pick-box is hovering over the object but why does the call to add it have bogus parameters?

Any help would be greatly appreciated.

Regards,
Andy F.




P.S. apologies for the bold text. it showed up after the paste and won't go away.
0 Likes
804 Views
5 Replies
Replies (5)
Message 2 of 6

Anonymous
Not applicable
36 compiles later: still no closer to figuring this out. looks like i'm stomping on the heap somewhere. been fighting with unicode migration all weekend. doesn't make sense that hovering over the drawable, and ONLY hovering over the drawable, crashes cad. and IF it is a unicode port problem then why isn't it crashing in sbheap.c like all the other times when it was a unicode problem? bah. crappy sleep coming tonite.
0 Likes
Message 3 of 6

Anonymous
Not applicable
Hi Andy,

Are they any other Dlls/Arx which get loaded with main ARX?

When I ported my application for ACAD2007, I faced a problem of crash whenever I moved cursor over entitiy. After detail study, I figured out third party Dll which was not compatbile with my new ported application.

Thanks !
KIMI
0 Likes
Message 4 of 6

Anonymous
Not applicable
yes, there is an inproc com server running a directshow graph. i'll give it another look. What was the nature of the incompatibility you ran into? I think the SDK I'm using for the DirectX parts is an older one.

That must be it. Could using an older SDK than what I have installed cause that? Crazy! So much for immutibility.

Thanks for the tip,
Andy F.
0 Likes
Message 5 of 6

Anonymous
Not applicable
Hi Andy,

Right now I can't say that might a reason for your problem.
I was getting crash whenever I moved cursor over entities in ACAD 2007. In my app, I was using archive libraries compiled on VC++6.0. When I replaced that libraries with new one, my problem was fixed. That looks very strange for me. I suggest you to try other components compiled with VC++ 8.0.

Thanks !
KIMI
0 Likes
Message 6 of 6

Anonymous
Not applicable
that did it! ty kimi. Luckily the dll loaded is mine, only had to recompile it with the updated libs.

Thx again,
Andy F.
0 Likes