|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
(vlax-invoke-method (vlax-get-or-create-object "ruMacrSrv.macros") "test" a b)
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 13.03.2011
Сообщений: 12
|
Цитата:
Цитата:
Код:
Да и вообще, вопрос был не на счет функции,а на счет того,если можно,то КАК подключить сервер к лисп(изменив библиотечную функцию запуска приложения на лисп),чтобы можно было бы запускать сом-сервер и передавать параметры функции на сом-сервере из автокада |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Попробую и я высказаться
![]() Есть несколько вариантов решения задачи (по крайней мере мне так кажется ![]() Вариант 1. На Delphi (или любом другом привычном языке) пишется dll, в обязательном порядке регистрируемая в ОС. В таком случае все, что написано в dll, будет СОМ-сервером, а AutoCAD выступает в роли СОМ-клиента. СОМ-сервер не зависит от версии AutoCAD (в общем случае), т.к. не для этого он пишется ![]() Вариант 2. На Delphi пишется некий exe-файл, который обращается к уже запущенному AutoCAD как к стороннему приложению. exe получается - СОМ-клиент, а AutoCAD - СОМ-сервер. В зависимости от выбранной схемы связывания (раннее или позднее) может понадобиться и импортирование соответствующих tlb-библиотек. Вариант 3. Начиная с Delphi 2005, кажется, уже поддерживается .NET. Соответственно появляется возможность написать .NET-сборку, загружаемую внутрь AutoCAD (начиная с версии 2005) командой _.netload и живущую вообще по своим принципам.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.04.2009
Сообщений: 702
|
В *.dll есть машинный код, СОМ-сервер ведь не сама цель. Я догадываюсь что без регистрации его нереально запустить, хотелось бы услышать это от более опытных товарищей.
__________________
КазнитьØнельзяØпомиловать:eek: |
|||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Мэтры! Матёрые человечищи!
Напишите бедной девушке пример Inproc COM сервера на Delphi. Уверен, пригодится и многим другим, и мне в том числе. Тема-то совсем не простая и лишний хорошо прокомментированный пример никогда не помешает. Пример такой. 1. В AutoCAD запускается лисп функция, запрашивающая у пользователя отрезок, а так же число участков, на которые этот отрезок нужно разметить. 2. Если отрезок указан, вызывается метод из ком сервера и этому методу передаются координаты начала и конца отрезка. 3. Код метода обращается к объектной модели AutoCAD и строит точки на отрезке, размечая его тем самым на указанное число участков. Т.е. ком сервер (dll) одновременно является клиентом AutoCAD'a. Offtop: Для Сергей Дубина. Может это то, что вы ищете?
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 15.03.2011 в 10:30. |
|||
![]() |
|
||||
Регистрация: 11.10.2010
Сообщений: 979
|
Еще один вариант, но на VB: http://www.arcada.com.ua/forum/viewtopic.php?t=460
Но я почему-то не вижу там ни картинок, ни чего бы то ни было еще ![]()
__________________
(/= RegDate StartReadDate) |
|||
![]() |
|
||||
Регистрация: 16.06.2010
Сообщений: 43
|
Здравствуйте, уважаемые!
Если мой вопрос не совсем в тему, то прошу извинить. Суть в том, что все большее число пользователей приобретают 64-х разрядные Windows. AutoCad начиная с 2008-го устанавливается на них как 64-х разрядная версия. Dll-ки, написанные на привычном, но старом Delphi 7 получаются 32-х разрядными. В результате, совместно с LISP-ами они не работают. Насколько я понимаю, в одном адресном просранстве разрядность AutoCad и Dll должны совпадать. Хотелось бы спросить у опытных программистов совета и рекомендаций по этому вопросу. Как вы решаете проблему. |
|||
![]() |
|
||||
Регистрация: 13.03.2011
Сообщений: 12
|
Цитата:
Пожааааалууйсто,подскажите,добрые формучане ![]() |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Вам это уже показывали в сообщениях № 4,5,20,22.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 06.04.2009
Сообщений: 702
|
а это не смотрели?
http://dwg.ru/pub/8
__________________
КазнитьØнельзяØпомиловать:eek: |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) | Red Nova | LISP | 5025 | 20.08.2025 22:52 |
LISP получить список установленных в системе (векторных) шрифтов или хотя бы узнать, установлен ли указанный | Ax3 | LISP | 9 | 08.02.2011 14:11 |
{Конкурс} Lisp. Задачки для студентов | gomer | LISP | 10 | 05.01.2011 16:33 |
Запуск Lisp команды в новом документе | BlackHarp | LISP | 1 | 26.03.2009 23:06 |
загрузка DOS прог через LISP | Gaa | LISP | 15 | 12.08.2005 19:19 |