Тема: VB.Не могу получить объекты ActiveX для ACAD2004 и выше.
Вот код прекрасно работающий с AutoCAD2002:
Dim vAcadApplication As AcadApplication 'Dim vAcadApplication As Object On Error Resume Next Set vAcadApplication = GetObject(, "AutoCAD.Application") If Err Then MsgBox Err.Description Set vAcadApplication = CreateObject("AutoCAD.Application") vAcadApplication.Visible = True Err.Clear End If Dim ActiveDrawing As AcadDocument Set ActiveDrawing =AcadApplication.ActiveDocument If Err Then MsgBox Err.Description End If
Однако, при запуске под ACAD2004 и выше при
выполнении строки Set vAcadApplication = GetObject
получаю: Type mismatch.
Пробовал менять объявление переменной:
Dim vAcadApplication As Object
В таком случае объект vAcadApplication создается, но...
проблема переносится дальше,
Set ActiveDrawing =AcadApplication.ActiveDocument
выдает снова: Type mismatch.
Как-то это выглядит загадочно, что за разница для COM- технологии, какая версия AutoCAD используется?
Не пойму, где копать?
Для определенности: Все тестируемые версии AutoCAD стоят на одной и той же машине, в одном и том же окружении. ОС - WindowsXP, MS Visual Basic 6.0.