Есть такая проблема: написан компонент на VB6, который интенсивно использует AutoCAD 2002 (извлекает некие данные из черчежа).
Наступил момент, когда захотели обновить версию AutoCAD, но задумались над его стоимостью и решили попробовать AutoCAD LT 2007. Проект компонента на VB6 откомпилировался без проблем, пришлось только изменить референс на TLB и прописать новый ProgID:
CreateObject("AutoCAD.Application.17") вместо CreateObject("AutoCAD.Application"). Однако, CreateObject виснет и через минуту летит ошибка "Can't create ActiveX object".
Сначала думал, что LT не поддерживает OLE Automation, но всё указывает на то, что поддерживает:
— при вызове CreateObject не летит ошибка, что класс незарегистрирован, а вместо этого запускается процесс AutoCAD, но через минуту летит "Can't create ActiveX object";
— все автокадовские TLB и документация по OLE Automation (acadauto.chm) для AutoCAD лежат в "C:\Program Files\Common Files\Autodesk Shared\".
GetObject(,"AutoCAD.Application.17") возвращает ошибку сразу.
Что может быть?