Тема: delphi 7 & acad 2012 x64 ошибка IDISPATCH

прошу прощения,если не углядел описания свое проблемы, хотя похожих описаний много.

Итак функция

function TForm1.GetAcadApplication(Visible: Boolean): IAcadApplication;
var
  v : OleVariant;
begin
  Try
    v := GetActiveOleObject('AutoCAD.Application');
  Except
    v:= CreateOleObject('AutoCAD.Application');
  end;
  Result :=IDispatch(v)  as IAcadApplication;
  if Visible then Result.Visible := True;
end;


Работает дома на 2-х компах win 7 x32  acad 2012     delphi 7 замечательно.
На ноутбуке                 Win 7 x64  acad 2012 x64 delphi 7 
вылетает с ошибкой - "неподдерживается интерфейс"
в строке Result :=IDispatch(v)  as IAcadApplication;.
Использую ACAD_TLB.
Заранее спасибо за советы.

Re: delphi 7 & acad 2012 x64 ошибка IDISPATCH

Николай Николаевич пишет:

На ноутбуке Win 7 x64 acad 2012 x64 delphi 7

Приложение получилось тоже x64? Если нет, то всё понятно.

(изменено: Николай Николаевич, 17 октября 2012г. 15:08:00)

Re: delphi 7 & acad 2012 x64 ошибка IDISPATCH

Александр Ривилис пишет:
Николай Николаевич пишет:

На ноутбуке Win 7 x64 acad 2012 x64 delphi 7

Приложение получилось тоже x64? Если нет, то всё понятно.

Пробовал из под Делфи XE и 32 и 64 бита компиляцию.  Результаты одинаковы((.

Re: delphi 7 & acad 2012 x64 ошибка IDISPATCH

Николай Николаевич пишет:

Использую ACAD_TLB.

Она 32-ухразрядная?

(изменено: Максим Кошман, 28 июля 2014г. 17:08:26)

Re: delphi 7 & acad 2012 x64 ошибка IDISPATCH

function TForm1.GetAcadApplication(Visible: Boolean): variant;
var
v : OleVariant;
begin
Application.Initialize;
Try
result := GetActiveOleObject('AutoCAD.Application');
Except
result:= CreateOleObject('AutoCAD.Application');
end;

result.Visible := True;

end;
И не надо никаких IDispatch, работайте с поздним связыванием
или попробуйте добавить Application.Initialize;