![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#14
|
||||
|
||||
|
Кажется я всё слишком усложнил ...
Прописывать в коде - AutoCAD.Application.18 *.19 *.20 - это всё не нужно ... Нужно только подцепить библиотеку для последней версии ACada например для 2015 И можно будет работать с Автокадами версий 2014, 2013, 2012; будут ли работать версии ниже 2012 не знаю, но мне это и не нужно... Код:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ComObj, Vcl.StdCtrls,Vcl.OleServer, AutoCAD_TLB,
Vcl.Menus;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
AcadApp: IAcadApplication;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Function GetAcadApplication(Visible: Boolean): IAcadApplication;
var
v : OleVariant;
begin
Try v := GetActiveOleObject('AutoCAD.Application');
Except
AutoCad
v:= CreateOleObject('AutoCAD.Application');
end;
Result := IDispatch(v) as IAcadApplication;
if Visible then Result.Visible := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
AutoCad
FormStyle:= fsStayOnTop;
AcadApp:= GetAcadApplication(true);
end;
end.
|