Тема: Вызов managed форм в AutoCAD
Вопрос относиться к 2002-му (на 2004 и 2005 не проверял) - скорее всего то же.
Если в managed code dll-ки выполнить вызов формы (можно сделать showDialog или MessageBox.Show("Hello world")), то автокад все это корректно отображает, но его(автокада) потроха в последствии ломаются.
Например, если попытаться добавить словарь в текущую базу из диалога, то он добавляется, но при попытке pNewDict->close() летит эксепшен. Происходит всякий такого рода кал. Т.е. Автокад вроде жив - но он становится сильно больной.
При закрытии автокада студия выдает такое:
First-chance exception in acad.exe (MSCORWKS.DLL): 0xC0000005: Access Violation.
First-chance exception in acad.exe (MSCORWKS.DLL): 0xC0000005: Access Violation.
The thread 0x284 has exited with code 20 (0x14).
First-chance exception in acad.exe (KERNEL32.DLL): 0xE0434F4D: (no name).
The thread 0xAD0 has exited with code 20 (0x14).
The thread 0xC78 has exited with code 20 (0x14).
The thread 0x8B8 has exited with code 20 (0x14).
AcDb.dll Terminating!
acfirst.dll Terminating!
The thread 0x1B8 has exited with code 20 (0x14).
The program 'C:\AutoCAD\AutoCAD 2002\acad.exe' has exited with code 20 (0x14).
Такая вот фигня. Просидел весь вечер - пошел домой так и не поняв - что же акад нагибается от простого показывания формочек из managed кода. Никакой перегрузки ресурсов не требуется... для MessageBox-а уж точно...