| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание параметрического чертежа с помощью AutoCad и Delphi

Создание параметрического чертежа с помощью AutoCad и Delphi

Ответ
Поиск в этой теме
Непрочитано 10.07.2009, 10:01 #1
Создание параметрического чертежа с помощью AutoCad и Delphi
karakatica
 
Регистрация: 22.05.2009
Сообщений: 6

При проектировании параметрического чертежа в автокаде через делфи необходимо подключать в делфе библиотеки автокада acax17enu.tlb. Можно ли каким нибудь образом обойтись без подключения библиотек, если программа будет использоваться на любом компе, где может быть не установлена Делфи.

З.Ы. екзешник тоже не работает отдельно без подключения библиотек.
Просмотров: 4100
 
Непрочитано 10.07.2009, 10:21
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Как вариант: использовать позднее связывание.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.07.2009, 10:28
#3
karakatica


 
Регистрация: 22.05.2009
Сообщений: 6


если можно, то по подробнее плиз, или же кусочек программного кода
karakatica вне форума  
 
Непрочитано 10.07.2009, 13:01
#4
diadora


 
Регистрация: 10.07.2009
Сообщений: 1


Привет. Я понял, что это позднее связывание. Внизу написано как это делается. Проблема в том, как дальше с этим работать (методы отрисовки примитивов)...а до вторника нада бы сделать. Если еще что-то найдешь, выложи сюда. ИТешнику первопроходцу:
Код:
[Выделить все]
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComObj, ActiveX, StdCtrls;
resourcestring
  rsAcadNotFound = 'AutoCAD не найден!';
...
var
  Form1: TForm1;
  Acad: OleVariant;  
implementation
{$R *.dfm}
procedure AcConnect(const acClassName: String; const acNewInstance: Boolean;
    const acVisible: Boolean);
var
  IU: IUnknown;
  ClassID: TCLSID;
  IsCreate: Boolean;
  ErrorCode: HResult;
begin
  if VarIsClear(Acad) then // если еще не присоединились…
  begin
    // если AutoCAD не установлен — произойдет ошибка
    ErrorCode:= CLSIDFromProgID(PWideChar(WideString(acClassName)), ClassID);
    if not Succeeded(ErrorCode) then
      raise EOleSysError.Create(rsAcadNotFound, ErrorCode, 0);
    // пытаемся присоединиться к уже запущенному экземпляру AutoCAD
    IsCreate:= acNewInstance or (not Succeeded(GetActiveObject(ClassID, nil, IU)));
    if IsCreate then
      try
        // запускаем новый экземпляр AutoCAD
        Acad:= CreateComObject(ClassID) as IDispatch;
      except
        raise EOleSysError.Create(rsAcadNotFound, ErrorCode, 0);
      end
    else
      Acad:= IU as IDispatch;
    // управляем видимостью AutoCAD
    if not VarIsClear(Acad) then Acad.Visible:= True;//acVisible;
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
AcConnect('AutoCAD.Application', True, False);
end;

Последний раз редактировалось Кулик Алексей aka kpblc, 10.07.2009 в 13:52.
diadora вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание параметрического чертежа с помощью AutoCad и Delphi

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видеоуроки AutoCAD kosmax AutoCAD 173 17.02.2017 15:08
AutoCad и Delphi. Добавление точки Зойберг Программирование 15 28.02.2008 23:18
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17