| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Результаты опроса: На чем вы разрабатывали бы диалогов. окна для автокада? | |||
OpenDCL | 6 | 40.00% | |
C#.Net, VB.NET | 6 | 40.00% | |
другое написал в теме | 3 | 20.00% | |
Голосовавшие: 15. Вы ещё не голосовали в этом опросе |
Поиск в этой теме |
17.09.2009, 14:51 | #1 | |
OpenDCL vs C#.NET
-
Москва
Регистрация: 24.07.2005
Сообщений: 1,335
|
||
Просмотров: 5806
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Раз предполагается такая ширина охвата (AutoCAd / BricsCAD / zwCAD), то, скорее всего, речь идет либо о СОМ-сервере (гарантированно вызывается из AutoCAD; наверняка нормально вызывается из BricsCAD; насчет zwCAD не знаю); либо о стороннем приложении (exe). Боюсь, что разработка СОМ в данном случае будет нерентабельна, и все закончится dcl.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Моего варианта ответа пока нет
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
1.OpenDCL для Bricscad 9.3 уже существует. Но там очень много чего пока не поддерживается.
2.А мне очень нравится писать диалоги на Win32 API. Самые простые, но мне кажется что это удобнее чем DCL или OpenDCL. Хотелось уйти от MFC, но к BRX пока не удалось прикрутить .NET диалог. Так что если не писать суперизощренных окон, то Win32 API самое то. |
|||
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
Использовал 2 способа:
1. Создаю exe файл с Win32 API диалогом и вызываю его Лиспом через функцию типа Код:
Недостаток и тормоз этих способов - необходимость знания С++, Win32 API, ObjectARX. Хотя, имея примеры в виде исходников все это не так сложно. Лично я написал первый диалог на С++ после одного года от начала изучения С++, хотя если есть хороший учитель и хорошая инфа можно все сделать на порядки быстрее. А вообще диалог проще всего сделать на любом языке, используя .NET(хоть С++, хоть С#(VB.NET))... Последний раз редактировалось Кулик Алексей aka kpblc, 24.09.2009 в 08:42. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Понятно, а на чем пишется вот это?:
Цитата:
|
|||
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
Пишется в MS VS Express 2005 или 2008. Там нет редактора ресурсов, поэтому ресурсы делаю в ResEdit. Там же есть редактор окон .NET. Т.к. Бриксовский ARX пока не поддерживает управляемый С++, то диалоги пока решил поделать на WinAPI. А простой екзешник можно написать на чем угодно, но пока я не нашел как диалоговое окно из простого экзешника можно сделать модальным по отношению к Бриксу.
Весь фокус использования екзешника состоит в том , что его вызывает LISP и ждет завершения работы этого экзешника. Некоторые товарищи пишут про COM. Но с COM простому любителю связываться не охота. Последний раз редактировалось nikе, 24.09.2009 в 11:12. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Найден вот такой вот материал http://augiru.augi.com/content/libra...er/DE211-2.pdf , который решает все проблемы, это уже не убогие попытки подружить VBA и lisp. Это человеческое решение. Всем юзать.
ЗЫ подскажите нету более расширеного helpa чем сам object browser по библиотекам acmgd.dll и acdbmgd.dll? Последний раз редактировалось Sleekka, 15.10.2009 в 00:16. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Код:
Весь проект прикладываю. Ошибку нашел: в строке Код:
Код:
В итоге я получал ошибку вида: Код:
Цитата:
Последний раз редактировалось Sleekka, 16.10.2009 в 01:42. |
|||
|
||||
Я за НТА, НТМL, и пр.
http://forum.dwg.ru/showthread.php?t=17470 Я конечно и другие способы уважаю и применяю, но иметь возможность работать с интерфейсом веб-страниц очень хочется. Интернет эксплорер правда уж очень ангажирован и слишком наварочен, но можно и свой браузер написать. Надо только самую малость - перехват событий в документе организовать и все возможности Интернета у вас в руках. |
||||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Итак, прошло время, я закончил разработку диалогов выбрав C# WPF, в виде отдельного приложения запускаемого по методу здесь опубликованном by nike, ранее by Евгений Елпанов. Обмен данными реализован через xml.
В итоге все у меня получилось криво, но работает. Что криво: - данные для передачи достаточно обширны и достаточно долго считываются, такие объемы нужно передавать через оперативку. - данные грузятся в класс, с которым связаны controls WPF, все перезагружается по 3 раза, прямее сделать не получилось. - оперировать с такими макрообъектами - нужно долго учиться, плюс когда выходишь за штатные диапазон применимости инструмента, не так то просто модифицировать сам инструмент. (видимо для своей задачи мне лучше было использовать OpenDCL). Пока велась разработка - 2 года, OpenDCL стал нормально поддерживать bricscad. ZWCAD - я в итоге сам исключил из списка поддержки, они слишком убоги, видимо вся бизнесс идея базировалась на том, чтобы побырику сделать abibas, в отличие от bricsys - которые являются конторой с историей, занимавшимися сначала PLM решениями, а сейчас их тянет в сторону Mechanical desktop и очень серьезная ориентация на разработчиков. Итого в C# я разочаровался, быть там профессионалом это отдельная тема, тем более что под проф. разработку все равно все юзают платные библиотеки по штуке баксов под C++, а мне в этом копаться не охота. Теперь мои копания будут нацелены в сторону OpenDCL. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
OpenDCL :: по нажатию Enter "нажимается" Cancel | Игорь Костюкович | Программирование | 2 | 04.08.2009 09:05 |