Тема: Альтернативы MFC ?

Здравствуйте

Имел несчастье 1.5 года программировать диалоговые окна на MFC под AutoCAD.

Последние пол года пробую найти какие - то альтернативные возможности в данном направлении.

Буду очень признателен если кто то сможет порекомендовать какие то серьёзные решения для решения подобных задач.

В частности меня интересует опыт использования под AutoCAD wxWidgets или Qt.

Я понимаю что сейчас наверное многие разработчики перешли при разработки пользовательсокго интерфейса на .NET.

Но с его использованием связана масса дополнительных трудностей, которые сильно портят преимущества от применения WindowsForms или WPF.

Re: Альтернативы MFC ?

Но с его использованием связана масса дополнительных трудностей, которые сильно портят преимущества от применения WindowsForms или WPF.

Каких именно трудностей, если не секрет?

Re: Альтернативы MFC ?

Пастух пишет:

Но с его использованием связана масса дополнительных трудностей, которые сильно портят преимущества от применения WindowsForms или WPF.

Каких именно трудностей, если не секрет?


Я думаю что если отвечу на Ваш вопрос ... то здесь развернётся очередной неконструктивный холивар smile
И потом это же форум по ObjectARX а не .NET ... чтобы о нём здесь говорить ...

Хотелось бы всё - таки услышать мнение людей с опытом о применении других библиотек при разработке под AutoCAD.

(изменено: Пастух, 24 июня 2011г. 18:45:46)

Re: Альтернативы MFC ?

Попалась вот на глаза одна работа http://www.debalance.com/totalpurge/index.html. Есть ощущение, что диалоговые окна написаны не на MFC. Попробуй выяснить у автора.

Я думаю что если отвечу на Ваш вопрос ... то здесь развернётся очередной неконструктивный холивар

Ответь в личку. Мне просто интересно.

Re: Альтернативы MFC ?

Пастух пишет:

Попалась вот на глаза одна работа http://www.debalance.com/totalpurge/index.html. Есть ощущение, что диалоговые окна написаны не на MFC. Попробуй выяснить у автора.

Интересно ...

В любом случае спасибо за совет )

Вообще в данный момент пробую использовать wxWidgets. пока впечатления только положительные.

Я думаю что если отвечу на Ваш вопрос ... то здесь развернётся очередной неконструктивный холивар

Ответь в личку. Мне просто интересно.

Ну если вкратце о моих затруднениях при использовании солянки под AutoCAD С++ и .NET.

1. Не смог придумать удобного способа обмена данными между частью приложения на C++ и на .NET.
А хотелось бы и там и там иметь дело с одной объектной моделью данных.
{Буду очень признателен если кто то порекомендует удачные решения в этом направлении.}
2. Проблема совместимости различных версий .NET между собой. В отличии от Java.
При длительной поддержке приложения это существенно осложняет жизнь.
Особенно если учесть что и так приходится хранить несколько версий приложения на C++.
3. Если говорить о работе в коллективе то это необходимость обучения сотрудников работе и с C++ и с каким нибудь языком для .NET.
4. Имел возможно убедиться что сильно нагруженный пользовательский интерфейс на .NET всё - таки притормаживает на средних машинах. Впрочем часто это не так существенно для обычного приложения под AutoCAD

(изменено: Пастух, 25 июня 2011г. 09:48:23)

Re: Альтернативы MFC ?

В ObjectARX поддерживается стандартный способ взаимодействия между приложениями - внешние функции. Это те, которые регистрируются через acedDefun() и acedRegFunc(), вызываются через acedInvoke() и используют для обмена данными список структур resbuf.
На мой взгляд (дилетанта) именно этот механизм и стоит использовать для взаимодействия с .NET сборками. Данный подход требует, чтобы .NET сборки ссылались на библиотеки AcMgd.dll и AcDbMgd.dll для того, чтобы использовать атрибут [LispFunction(...)], класс ResultBuffer, структуру TypedValue и всю прочую мелочевку, которая связана с определением и вызовом внешних функций, т.е. фактически являлись полноценными .NET приложениями для AutoCAD. Но минусов в этом нет, поскольку их перекомпиляция под новые версии AutoCAD будет осуществляться одновременно и в той же версии VS, что и перекомпиляция основного OARX приложения, т.е. особых дополнительных трудностей не превнесёт. Зато есть плюсы - к вашим услугам весь арсенал ObjectARX.NET, включая штатный способ загрузки.

(изменено: Василис, 25 июня 2011г. 13:03:36)

Re: Альтернативы MFC ?

Пастух пишет:

В ObjectARX поддерживается стандартный способ взаимодействия между приложениями - внешние функции. Это те, которые регистрируются через  acedDefun()  и  acedRegFunc() , вызываются через  acedInvoke()  и используют для обмена данными список структур  resbuf .

Ключевой момент здесь что это внешние функции.

Вы не поняли сути моего замечания.

Я говорил об обмене ОБЪЕКТНОЙ модели данных
Понятно что прямо как есть это невозможно. Между скомпилированным кодом и управляемым. Тем более что в первом то после компиляции объектов внутри и нет.
Поэтому я и хочу использовать другую библиотеку на C++. А не мучиться с интеграцией пуст даже она и сулит преимущество от использования мощных инструментов и библиотек для разработки пользовательских диалоговых окон.

(изменено: Александр Ривилис, 25 июня 2011г. 13:13:14)

Re: Альтернативы MFC ?

Василис пишет:

Можно ли каким то образом проект на .NET держать в виде единого исходного текста ?

mixed mode - можешь смешивать native и managed (т.е. чистый C++ и managed C++)

P.S.: Не правь свои сообщения после того, как появились новые - теряется весь смысл.

Re: Альтернативы MFC ?

Александр Ривилис пишет:
Василис пишет:

Можно ли каким то образом проект на .NET держать в виде единого исходного текста ?

mixed mode - можешь смешивать native и managed (т.е. чистый C++ и managed C++)

Я думал что при таком режиме получается только managed ....

P.S.: Не правь свои сообщения после того, как появились новые - теряется весь смысл.

извините .. не заметил Вашего сообщения
За рекомендацию спасибо ...
Я почитаю информацию про работу в таком режиме

Re: Альтернативы MFC ?

Я почитаю информацию про работу в таком режиме

Вот пара приличных книг по теме (на английском языке):
1. Stephen R.G. Fraser "Pro Visual C++ CLI and the .NET 2.0 Platform" - учебник по языку С++/CLI и использованию его в .NET программировании.
2. Nishant Sivakumar "C++/CLI in Action" - лучшая, если не единственная, полноценная книга о программировании на С++/CLI в смешанном режиме.

Re: Альтернативы MFC ?

Пастух пишет:

Я почитаю информацию про работу в таком режиме

Вот пара приличных книг по теме (на английском языке):

1. Stephen R.G. Fraser "Pro Visual C++ CLI and the .NET 2.0 Platform" - учебник по языку С++/CLI и использованию его в .NET программировании.

2. Nishant Sivakumar "C++/CLI in Action" - лучшая, если не единственная, полноценная книга о программировании на С++/CLI в смешанном режиме.

Спасибо )
Будем изучать smile

Re: Альтернативы MFC ?

Назову еще одну книгу на русском языке:
Г.Хогенсон. C++/CLI: язык Visual C++ для среды .NET.: Пер. с англ. - М.: ООО "И.Д. Вильямс", 2007 - 464 с.
ISBN 978-5-8459-1279-4 (рус.).