Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 04.10.2012
Сообщений: 45
1

Странности соединения Autocad и Delphi в XP

10.02.2014, 23:47. Просмотров 1645. Ответов 7
Метки нет (Все метки)


Добрый вечер. Подскажите как решить проблему. Есть процедура, по которой программа коннектиться к Autocad 2012 по чеку:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TsettingsForm.CheckBox1Click(Sender: TObject);
var
AutoCAD: OleVariant;
begin
if CheckBox1.Checked then
begin
try
//Если AutoCAD запущен, то подсоединяемся к нему
AutoCAD := GetActiveOleObject('AutoCAD.Application');
AddForm.AcadDocument1.ConnectTo((IDispatch(AutoCAD) as IAcadApplication).ActiveDocument);
except
//Иначе запускаем его вручную
 
ShowMessage('Для использования AutoCad-а нужно его запустить и открыть нужный документ!');
CheckBox1.Checked:=False;
end;
end Else
AddForm.AcadDocument1.DisConnect;
 end;
- При компиляции проекта в Delphi XE3 (ОС Windows 7 ), и проверке на машине с ОС Windows 7 - программа отлично работает, и подключается к нужному чертежу. Но зато она напрочь не видит Autocad 2012 при запуске в ОС Windows ХР(Сообщение 'Для использования AutoCad-а нужно его запустить и открыть нужный документ!')

- Этот же код если скомпилировать на в Delphi 7 (ОС Windows ХР) и проверить на машине с ОС Windows ХР - все будет хорошо, Идет подключение к нужному чертежу. но если запустить экзешник из под ОС Windows 7 - напрочь не видит чертеж Autocad 2012 (Сообщение 'Для использования AutoCad-а нужно его запустить и открыть нужный документ!').

Подскажите, как решить данную проблему? Каким образом можно запускать и под Windows 7 и под Windows ХР? Благодарю!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2014, 23:47
Ответы с готовыми решениями:

Delphi+AutoCAD
Задача: запустить из приложения конкретный документ автокада. Скрыть и закрыть. Попытки скрыть:...

Связь delphi и autocad
Установлен BDS 2006. Нужно установить связь delphi и autocad. Все рекомендации в интернете в...

3D-пружина, спирали из delphi в Autocad используя VBA
добрый вечер! подскажите пожалуйста, как создать 3d пружину или спираль с помощью VBA обращаясь...

3D-пружина, спирали из delphi в Autocad используя VBA
добрый вечер! подскажите пожалуйста, как создать 3d пружину с помощью VBA обращаясь через Delphi к...

7
Пишу на Delphi...иногда
1418 / 1275 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
11.02.2014, 00:06 2
Цитата Сообщение от Softvok Посмотреть сообщение
Delphi XE3... Delphi 7
может какая беда в PChar?
в D7 PChar == PAnsiChar в XE3 PChar == PWideChar, используется где-либо PChar или string (со string'ами вроде проблем не наблюдалось), например, для задания пути к документу?
есть ли возможность скомпилировать на D7 под Win7? (или на XE3 под WinXP)?

стоит попробовать при неудачном вызове GetActiveOleObject (получить АКТИВНЫЙ объект) вызвать CreateOleObject (создать объект), должно заработать, а о таком поведением при различной компиляции стоит подумать...
2
3941 / 1866 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
13.02.2014, 00:36 3
В результате экспериментов было выяснено что исключение происходит при выполнении:
Delphi
1
    GetActiveOleObject('AutoCAD.Application');
Теперь хотелось бы выяснить связано это с Windows или с Delphi. Поэтому прошу, у кого есть возможность, скомпилировать проект под Delphi 7 на Windows 7 и выложить exe-ник в архиве:
Кликните здесь для просмотра всего текста
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    GetActiveOleObject('AutoCAD.Application');
    ShowMessage('AutoCad успешно подключен!');
  except
    ShowMessage('AutoCad Не подключен!');
  end;
end;
 
end.

Проект прилагаю. Думаю, для компиляции установленный Autocad не требуется.
1
Вложения
Тип файла: rar Проверка коннекта Autocad_.rar (2.0 Кб, 18 просмотров)
Пишу на Delphi...иногда
1418 / 1275 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
13.02.2014, 00:43 4
компиляция в Delphi7 под Window7 в аттаче
при попытке вызвать объект - ошибка (не удивительно - автокад не установлен)
Странности соединения Autocad и Delphi в XP
2
Вложения
Тип файла: zip Win7_D7.zip (209.8 Кб, 12 просмотров)
3941 / 1866 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
13.02.2014, 00:58 5
Спасибо. А у меня при запуске (Win XP) всё нормально: "успешно подключен".
1
1 / 1 / 1
Регистрация: 04.10.2012
Сообщений: 45
13.02.2014, 01:04  [ТС] 6
Попробовал запустить скомпилированный cotseec*ом exe-ник. Autocad у меня установлен.
При запуске на Windows 7 - " Autocad успешно подключен". Хотя данное сообщение выскакивает даже если Autocad и не запущен.
1
3941 / 1866 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
13.02.2014, 01:09 7
Значит эту погрешность даёт Delphi XE. Уже легче. Будем сравнивать модули ComObj. Странно только. Почему у меня откомпилированный модуль программы TC не соединился на Win 7?
1
1 / 1 / 1
Регистрация: 04.10.2012
Сообщений: 45
13.02.2014, 01:15  [ТС] 8
Выходит что так:
-у Вас был exe-ник сделан в Win ХР + Delphi 7 (На Win 7 не пошло)
-то что скомпилировал я в Win 7 + Delphi ХЕ3 (На Win ХР не пошло)
-то что скомпилировал cotseec Win 7 + Delphi 7 (На Win ХР и Win 7 пошло успешно)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2014, 01:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Delphi и AutoCAD - в помощь создания дизайн-проэкта супермаркетов и ресторанов.
Нужна помощь в написании программы, которая позволяет из созданного меню выбирать необходимое...

Как из Delphi создать таблицу в Autocad и заполнить ее текстом из Stringgrid?
Подскажите, как из Delphi создать таблицу в Autocad и заполнить ее текстом из Stringgrid?

Delphi->VBA->AutoCAD, сохранение объекта созданного посредством sendcommand в переменную
Добрый день! Создаю спиральку через Delphi с помощью команды v.ActiveDocument.Sendcommand(...) в...

Проверка соединения с Интернетом на Delphi
Иногда в программе надо просто проверить соединение с Инетом. Например, для обновления программы,...

проверка соединения с интернет в delphi
привет всем не посылайте в gugl там был для себя не нашел ничего полезного. подскажите способ...

Delphi 10, Class, File of class .странности
Здравствуйте. В Делфи я почти 0. Нужно для облегчения работы написать простую программку. Но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.