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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Помогите связать delphi.NET с Автокадом.

Помогите связать delphi.NET с Автокадом.

Ответ
Поиск в этой теме
Непрочитано 26.12.2011, 14:50 #1
Помогите связать delphi.NET с Автокадом.
Nordek
 
Регистрация: 11.09.2008
Сообщений: 386

Разработчики делфи приложений откликнитель пожалуйста. Хочу написать dll/exe сборку на делфи.нет для автокада, но не могу выполнить связку. Не в .NET делфях делел по шаблону через СОМ, там использовалась функция GetActiveOleObject. Так вот в delphi.NET при объявлении всех (на сколько я понял) необходимых референсов на указанную функцию идет ошибка формата "undeclared inter...". Либо что - то не подключено, либо для NET сборок применяется другой способ, не знаю...Подскажите пожалуйтся как действовать.
Просмотров: 3812
 
Непрочитано 26.12.2011, 14:58
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


1. ObjectARX скачал?
2. AutoCAD .Net API смотрел?

по поводу подключения библиотек смотри подраздел "Components of the AutoCAD .NET API" в разделе "Introduction" (там перечислены не все, но одни из основных).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 26.12.2011 в 15:06.
hwd вне форума  
 
Автор темы   Непрочитано 26.12.2011, 15:51
#3
Nordek


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


1. нет
2. нет
Сейчас всё это проделаю. Как использовать ObjectARX в моем случае и для чего он мне будет нужен?
Nordek вне форума  
 
Непрочитано 26.12.2011, 16:23
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Nordek Посмотреть сообщение
Как использовать ObjectARX в моем случае и для чего он мне будет нужен?
Ну ты же хочешь программировать в AutoCAD на .Net, я верно тебя понял?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 26.12.2011, 17:21
#5
Nordek


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


Цитата:
Сообщение от hwd Посмотреть сообщение
Ну ты же хочешь программировать в AutoCAD на .Net, я верно тебя понял?
Да, на Delphi.NET, ключевое здесь .NET, а знаком более менее с Delphi, поэтому хотелось бы непосредственное программирование осуществлять именно в нем, т.е. реализовывать програмные алгоритмы на языке с понятным мне синтаксисом (синтаксисом Delphi). Может я чего-то не до конца понимаю?
Nordek вне форума  
 
Непрочитано 26.12.2011, 17:32
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Nordek Посмотреть сообщение
ключевое здесь .NET
Вот поэтому и юзай то, на что я дал тебе ссылки.
Цитата:
Сообщение от Nordek Посмотреть сообщение
а знаком более менее с Delphi
если .Net, то не важно какой язык - общие библиотеки одни и те же и работают по одному и тому же принципу.
Цитата:
Сообщение от Nordek Посмотреть сообщение
Может я чего-то не до конца понимаю?
Мануал читай с начала и всё поймёшь. Там как раз информация, что называется "с нуля".
Цитата:
т.е. реализовывать програмные алгоритмы на языке с понятным мне синтаксисом (синтаксисом Delphi).
в этом никаких проблем нет.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 27.12.2011, 09:30
#7
Nordek


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


[quote=hwd;855169]Вот поэтому и юзай то, на что я дал тебе ссылки.
QUOTE]

Спасибо, буду копаться. Так на вскидку, вчера пробежал по англоязычному мануалу, он ориентирован на VB, C#, J#...он к delphi применим аналогично?
Nordek вне форума  
 
Непрочитано 27.12.2011, 10:06
#8
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Nordek Посмотреть сообщение
он ориентирован на VB, C#, J#...он к delphi применим аналогично?
В .Net язык не имеет значения.
Offtop: Ты же вроде как пишешь на delphi.NET - тогда странно, что задаёшь подобного уровня вопрос...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 27.12.2011, 14:30
#9
Nordek


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


Цитата:
Сообщение от hwd Посмотреть сообщение
В .Net язык не имеет значения.
Offtop: Ты же вроде как пишешь на delphi.NET - тогда странно, что задаёшь подобного уровня вопрос...
Собираюсь писать, еще не пишу. Я не программист, поэтому фундаментального понимания вопроса нет. Просто умею кое что делать на делфи, научился программировать под акад через СОМ. Видел примеры dll (сборки) которые грузились через NETLOAD в Акад и работали там много быстрее чем через СОМ связку, вот и захотелось приобщиться.
Скачал ObjectARX, установил, получил набор библиотек и чего-то еще. Как этим пользоваться пока не понял.

ПРоследите пожалуйста порядок моих действий:
1. Запускаю (в соем случае) delphi.NET
2. Подключаю референсы ...interop
...interop.common
3. В проекте объявляю переменную acad:Iacadapplication
4. В обычном delphi раньше делал связку через COM и управлял Акадом через указатель acad;
в .NET что-то эту связку реализовать не получается, хотя на переменную acad помпиллятор реагирует как при корректно подключенной библиотеке типов акада.

Подскажите на каком этапе ушел не туда или до чего еще не дошел?
Nordek вне форума  
 
Непрочитано 27.12.2011, 14:59
#10
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Nordek Посмотреть сообщение
Видел примеры dll (сборки) которые грузились через NETLOAD в Акад и работали там много быстрее чем через СОМ связку, вот и захотелось приобщиться.
Вот так и нужно попробовать. В этом случае подключать нужно не
Цитата:
Сообщение от Nordek Посмотреть сообщение
...interop
...interop.common
а AcMgd.dll и AcDbMgd.dll
Ну и тип проекта должен быть не exe, а dll
P.S.: Я на delphi и тем более delphi.net никогда не писал.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 27.12.2011, 15:06
#11
Nordek


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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Вот так и нужно попробовать. В этом случае подключать нужно не

а AcMgd.dll и AcDbMgd.dll
Ну и тип проекта должен быть не exe, а dll
P.S.: Я на delphi и тем более delphi.net никогда не писал.
Да, я понимаю, Александр, я читал Ваши посты на кадюзер.ру и разницу между exe и dll сборками на этапе объявления референсов я тоже понял.

Я тут немного причесал свои мысли, прокомментируйте пожалуйста:

В классическом делфи делал так:
1.Импортировал библиотеку типов акада acax..enu.tlb
2. В uses прописывал Autocad_tlb, comobj
3. Далее применялась замыленная в интернете функция
связка Акада с delphi:

function getacap(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;

4. Далее в программе объявлялась переменная var acad:IAcadApplication; (к примеру)
в теле прогаммы осуществлялась "передача управления" переменной acad:=getacap(true);
5. Всё... далее рисование, удаление, считывание объектов, и т.д. в самом автокаде.

Так дело обстоит в обычном delphi. 3 пункта на пути к Автокаду:
1) Библиотеки;
2) Связка через СОМ;
3) Управление Автокадом из делфи.

В Delphi.NET дойти до пункта 3 не получается.

Если .NET программирование не зависит от того на чем его программируют,
то это должно означать, что при подключении всех необходимых библиотек
и объявления/подключения требуемых референсов, дальнейшее программирование
ни чем не отличается от ранее известного. Если это так, то как реализовать аналог
описанной выше функции getacap в .NET, или в NET связка происходит принципиально
другим способом.
Nordek вне форума  
 
Непрочитано 27.12.2011, 15:18
#12
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Nordek Посмотреть сообщение
Я тут немного причесал свои мысли,
Это называется "взъерошил".
Всё что ты описал - это создание exe-файла, который через COM-модель AutoCAD запускает его и управляет им.
А мы вроде договорились о том, что ты попытаешься делать .NET-сборку (dll-файл), который грузится командой _NETLOAD в AutoCAD.
Или что-то не так?
P.S.: Нигде на просторах Internet не нашел реализации .NET-сборки на Delphi.NET. Возможно недостаточно хорошо искал.
Александр Ривилис вне форума  
 
Непрочитано 27.12.2011, 15:27
#13
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


2 Nordek
Тебе влом мануал почитать? Я же тебе ссылку дал - там всё по пунктам расписано - даже буратино освоит (я же освоил)
Если проблема с английским - можешь начать читать с этого, но там переведён не весь мануал, а около 40%.
Не ленись читать! Без чтива ничего не сможешь сделать.

Насколько я понимаю, ты в делфи силён не более чем в дотнете. Тогда не парь мозг - бери и учи C#, нефиг извращаться с delphi.net.

касательно delphi.net:
Цитата:
Начиная с версии 2009, поддержка Delphi.NET была прекращена. Для разработки под .NET предлагается Delphi Prism.
но автору топика от этого ни тепло, ни холодно, поскольку делфи он не знает. имхо: в наше время с нуля начинать изучать делфи - рискованная затея, хотя может Delphi Prism и вариант - всё-таки это .Net.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 27.12.2011 в 15:43.
hwd вне форума  
 
Автор темы   Непрочитано 27.12.2011, 15:38
#14
Nordek


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


Ладно, буду вникать, просто думал что должно быть подобно тому, что уже делал, видимо нет. Всем спасибо.
Nordek вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Помогите связать delphi.NET с Автокадом.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пожалуйста помогите сделать спецификацию, есть чертеж с позициями но я не знаю всех обозначений, а после завтра защита диплома, если можете помогите! саняяя Машиностроение 19 22.06.2011 19:22
Усиление проема- расчет балки, стойки... помогите студенточке :'( studentochka-87 Конструкции зданий и сооружений 16 23.09.2010 20:46
Помогите воостановить файлик sheinik AutoCAD 2 01.10.2008 17:40
Помогите, добрые люди несчастному нюбу. Atij Программирование 8 06.05.2008 17:42
Помогите, пожалуйста с Автокадом! yulia AutoCAD 5 16.01.2004 22:35