|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Тяжелый конечно вопрос, но таки об этом задумался. Думаю о Windows Forms Application VB.NET и о С (#.NET ???) Вкратце(если получится вкратце): 1) VB6 - для меня USER интерфейс. Придерживаюсь строго стиля текущей WIN OS без самодеятельностей, как правило модифицирую имеющиеся контролы (реже создаю) через API - хитрости, манифесты - для стиля, 32-битные иконки через ResHacker, всякие там WinProc и т.п. Ну в целом все красоты решаются -большим объемом нестандартных работ. 2) Использую API для решения ряда других прикладных вопросов. В частности очень много GDI+/- 3) В основном приложение VB6 состоит из форм и кучи модулей, классы терпеть не могу (использую наверно 2-3шт CMultiFrameImage от Бенедикта, ClsText, Splitter) и плохо в них разбираюсь, хотя в том же сплиттере и CMultiFrameImage модифицировал немало. OCX-ов никогда не писал, чужими (включая от Microsoft ) стараюсь не пользоваться, ActiveX.EXE не понял и не хочу, люблю CreateObject и оч. не люблю раннее связывание. 4). Использую БД аля MS Access через MS ADO и не о каких SQL и прочем слышать не хочу, мне достаточно. 5). Оч. люблю использовать Shell(proga.exe) и ShellAndContinue(proga.exe) -модификация Shell с контролем ожидания завершения вызванного процесса - как с системными, так и с нек. другими утилитами. Ну, топиков моих тут много даб все это проиллюстрировать. Если я правильно понимаю, новые VB/C(#?).NET + Windows Forms Application сильно облегчат создание красоты в части п.1. Но при этом совсем без API все же думаю не обойтись. Ну т.е. все API, приемы и т.п. что я использую в VB хотелось бы иметь возможность также красиво использовать при необх. Потом новые всякие прибамбасы. Какие-нибудь Ribbons (родные, от Win7) на VB6 небось при всем желании не вставишь -просто пример привел. В пользу VB.NET думаю то, что язык хоть и отличается, но примерно такой же, т.е. если тупо пытаться переписывать имеющиеся чисто-VB6 проекты на VB.NET, то это сильно проще чем на C++#. Но есть ряд подводных камней. Я много работаю с телефонией и использую в частности OpalVoip , при этом уж не знаю хвастаться или стыдиться, даже перечислен в списке разработчиков и имею доступ к репозиторию(сам правда править коды на сайте через SVN так и не научился - мож оно и к лучшему, а то еще понапорчу). Стыдиться, это потому что C++ практически не знаю. Хотя умею тестировать и модифицировать имеющийся код библиотеки или консольного приложения. Но стоит вопрос как пририсовать "морду" к приложению. Если что-то запускаю из под VB6, генерирую из под VB6 "командный" файл и в зацикленном C++ консольном приложении использую конструкции типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Ну, аналогично, если C++ генерирует событие, то пуляет файл в сторону VB6, а VB6 ждет файл по таймеру и отображает что-нибудь на форме: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Попытки установить прозрачное взаимодействие между VB6 и C++ давно закончились ничем, и до сих пор к этому не возвращался. Пока "пуляем файлы". Жить конечно можно, живу, но все это сильно "тормозит развитие", и если нагрузка большая, то надежность приложения сильно снижается. Любой нормальный программист-профи обсмеет. Если например, писать софтфон (идея как бы есть) с кучей кнопок и действий типа play/record/dial/hangup, то "форма-морда" и "интеллект-начинка" должны быть реализованы в рамках одного exe. Т.е. по идее и в идеале хотелось бы (Я нарочно смешал C++ и VB6 код для иллюстрации желаемого решения типичной задачи): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Начинка на C, значит наверно нужен C(#).NET для формы. Это в пользу C. Хотя Windows Forms Application в VC2005 EE на дурака даже в примитиве с одной кнопкой типа Dial пока прикрутить не удалось. В примерах есть OpenPhone но он использует WxWigest -так понял "левая морда", слышал еще про MFC, но сдается что это не то и для виндов (чтоб просто и по стандарту) нужен WinForms. === Еще проблемы, которые периодически всплывают - уж не знаю насколько относится к вопросу - многопользовательская среда, запуск приложения под обычным юзером (я злоупотребляю админом), при этом настройки приложение хранит в CURRENT_USER и в HKEY_USERS\.DEFAULT\Software (для WIN Service кот. скажем прямо не совсем настоящий), данные прога хранит в /Program Files/Proga/etc. что подозреваю неправильно. Пользователей у кот. возникают иногда проблемы (в основном на серверах, куда лазют разные юзеры под своими терминалами), кормлю советами-затычками, что в прочем обычно помогает. === Таковы в общих чертах "проблемы мировой революции". Ну т.е. в каком направлении мне посоветуете двигаться. C ? VB ? NET? Для C стоит VC2005EE. Я так понимаю это называется C#. Не? Если VB.NET, то чего ставить? Рабочая система - XP и думаю надолго, от вистов глаза рябит. Но проги должны работать (ну это рынок) соотв. up to WIN7 x64 и выше со всеми Themes (что впрочем худо-бедно и с VB6 правдами и неправдами достигнуто). Крайняя попытка более менее серьезно ставить VB.NET была этак году в 2005, восторгов VB.NET не вызвала, правда стоит чего-то на нотебуке. Чего не хочу, так это глубоко закопаться в что-то новое а потом понять что это не то что надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 05:02 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Дмитрий77, Дим, отсыпь мне немного курева своего) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 08:58 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Ух0отсыпь мне немного курева своего) Да, кури пожалуйста . Только я вообще-то жду не ответов в духе "дискриминация VB6", а рекомендаций от людей хорошо знающих VB6, но при этом знакомых с разными системами програмирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 14:13 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
сложно что-то посоветовать. я так понимаю, что ты ищешь замену для своей конкретной программы. но беда в том, что программирование под .NET потребует от тебя полной переделки твоего текущего решения с отказом от уже существующего кода и прочих используемых библиотек. скорей всего, придётся писать с "0" с использованием существующих сборок из net framework. работа с неуправляемым кодом в том же NET (а у тебя это C dll) достаточно запутана и C# совсем не C/C++. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 14:19 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
в любом случае, советую сразу переходить на C#. т.к. VB.NET , как это не прискорбно, совсем не VB6 по простоте, а лишь внешнее подобие простоты, хотя по сути это тот же C#, только со своеобразным синтаксисом. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 14:22 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Konst_Oneсложно что-то посоветовать. я так понимаю, что ты ищешь замену для своей конкретной программы....переделки твоего текущего решения ... VB.NET , как это не прискорбно, совсем не VB6 по простоте Вот смотри. Что касается своих "чисто VB6 приложений", я как-то не сомневаюсь, что попотев и аккуратно переписав их заново, я смогу их переписать на VB.net (ну естественно наивно рассчитывать на "горе-мастеров"). Ну, допустим набью руку, научусь делать "красоту" меньшей ценой, заплатив б'ольшую цену за переделку/обучение но будет тоже самое. В принципе, мои VB6 проекты на достаточно хорошем уровне и можно пока об этом не думать. Более интересна вторая часть, где я привожу пример как у меня "форма-морда" (на VB6) общается с "начинкой-консольным приложением C++" и чего бы мне хотелось. Я хочу создать форму, нарисовать на ней кнопку и вызвать функцию из Opal. На VB.NET я этого не сделаю. Так? API отдыхают - тупиковый вариант. Konst_Oneработа с неуправляемым кодом в том же NET (а у тебя это C dll) достаточно запутана и C# совсем не C/C++.советую сразу переходить на C#. Разжуй пожалуйста. У меня есть ptlib.dll/opal.dll . Это C/C++. Так? Думаю ДА. Практически все имеющиеся примеры -консольные приложения. Все это компилируется в Visual C++ 2005 Express Edition. Там же можно создать File -> Add new Project -> CLR -> Windows Form Application Windows Form Application - это что C#.NET ??? Что мне надо сделать, чтоб начать чего-то понимать? Я хочу создать форму, нарисовать на ней кнопку и вызвать функцию из Opal. Это возможно? И что это будет? Сборная солянка из C#.NET(для WinForm) и C/C++ для начинки? Или я чего-то не догоняю в смысле Konst_One C# совсем не C/C++. Примеров с Windows Form Application в Opal нет, есть пример с mfc (на VC++ 2005 EE естественно не компилируется), причем структура файлов проекта очень похожа на структуру Windows Form. М.б. попытаться по аналогии c mfc проектом пристыковать тестовый Windows Form к Opal? Ну т.е. мне не от чего пока оттолкнуться. Да еще. У меня рабочий комп XP. VC++ 2005 EE Для моих тек. целей он работает "как надо". Если я установлю VC++ 2010 EE параллельно (как выяснилось, для новых версий того же Opal 2005-й уже не поддерживается), то работа VC++ 2005 EE не нарушится? Типичные нарушения, это когда отлаженные проги при компиляции лезут не туда, а при переносе на другой комп почему-то перестают запускаться и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:07 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
попробую немного объяснить. в VB6 для использования API ф-й используется Declare , в C# для этого используется DllImport Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:17 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:18 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Взаимодействие с неуправляемым кодом: http://msdn.microsoft.com/ru-ru/library/sd10k43k.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:21 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:22 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Дмитрий77я вообще-то жду не ответов в духе "дискриминация VB6", а рекомендаций от людей хорошо знающих VB6 чё, блин, за камень в мой огород?) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:24 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
на счёт "сборной солянки": С++ совместно c C#. основные вещи у тебя так и останутся в твоих c++ dll ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:24 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Konst_Oneв VB6 для использования API ф-й используется Declare , в C# для этого используется DllImport Это я все понимаю. Но к теме отношения не имеет, я не хочу использовать API, я считаю что в Opal нормальных нет. Попытки 2-х летней давности использовать эти API с VB6 закончились ни чем. Если есть консольное приложение, компилируемое в VC++ 2005, то оно не использует API . Оно использует 1) Tools -> Options -> Project and Solutions -> VC++ Directories -> ccылки на include и Library Files (ведут в директории Opal и PtLib) 2) всякие там #include <ptlib.h> #include <opal/console_mgr.h> в файлах самого exe. Я хочу сделать приложение, но не консольное, а Windows Forms Application(с мордой). В этом собственно и вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:32 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
более-менее теперь ясно. но тут только пробовать надо. я с opal не работал, трудно сказать, что там не так и почему их api нельзя заюзать. в .NET можно в одном проекте делать винегрет из C++ и C#. надо пробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:36 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Konst_Oneв .NET можно в одном проекте делать винегрет из C++ и C#. надо пробовать. Вот это я наверно и хотел услышать. Вот это попробовать? Разумно? Konst_OneЯ хочу создать форму, нарисовать на ней кнопку и вызвать функцию из Opal. VC++ 2005 EE Там же можно создать File -> Add new Project -> CLR -> Windows Form Application Windows Form Application - это что C#.NET ??? ... попытаться по аналогии c mfc проектом пристыковать тестовый Windows Form к Opal? Потому как если это получится, то уже есть что-то под ногами. И тогда можно потихоньку изучать WinForms + C#. Видимо методом перегонки наработок на VB6 в новую среду. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:53 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
лучше VS 2010 , т.к. 3.5 FW ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:57 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
хотя , надо посмотреть что там на XP у тебя можно поставить из NET FW. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 15:58 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Konst_Oneлучше VS 2010 , т.к. 3.5 FW 3.5FW у меня и так стоит, хотя мало чего в этом понимаю. Волнует вот это: Дмитрий77Да еще. У меня рабочий комп XP. VC++ 2005 EE Для моих тек. целей он работает "как надо". Если я установлю VC++ 2010 EE параллельно (как выяснилось, для новых версий того же Opal 2005-й уже не поддерживается), то работа VC++ 2005 EE не нарушится? Типичные нарушения, это когда отлаженные проги при компиляции лезут не туда, а при переносе на другой комп почему-то перестают запускаться и т.п. Думаю сначала надо смухлевать хоть что-то на рабочем VC++ 2005 EE, а потом уже думать об VC 2010 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 16:10 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
попробуй, я бы сразу с VS2010 начал ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 16:14 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Дмитрий77Если я установлю VC++ 2010 EE параллельно (как выяснилось, для новых версий того же Opal 2005-й уже не поддерживается), то работа VC++ 2005 EE не нарушится?Нет. Вся линейка студий начиная с версии 6.0 прекрасно уживается на одном компе. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 18:04 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Но лучше начинать их устанавливать по старшинству. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 18:05 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Ну, смухлевать чего-нибудь на VC++2005 "самому" не получилось: Все попытки кончаются так: 1>c:\ptlib\include\ptlib\msos/ptlib/contain.h(289) : error C2373: 'WinMain' : redefinition; different type modifiers AntonariyНо лучше начинать их устанавливать по старшинству. В смысле? Сейчас стоит VC++ 2005 EE, хочу установить 2010 В OPAL сейчас узрел вот это: Added .NET sample, Так понимаю есть только проект для VS2010 Из описания следует: TO USE OpalDotNET: Simply reference the OpalDotNet.dll or the project inside your .NET project. You must compile the opal and ptlib dlls yourself, and put them in the executing directory of your application using OpalDotNet.dll. Also, it is not necessary to use the Opal_API structures directly. The OpalContext.cs file contains the wrappers and context for your to use. These classes will handle marshaling the data back and forth between managed and unmanaged types. Happy Coding! М.б. то что нужно, надо пробовать. Гм, м.б. даже для VB.NET прокатит? OK, хочу установить 2010. Konst_Oneв .NET можно в одном проекте делать винегрет из C++ и C#. надо пробовать. Пошел типа посмотреть чего качать, и теперь вообще в ступоре. http://www.microsoft.com/visualstudio/ru-ru/products/2010-editions/visual-cpp-express (вкладка "загрузка") CLIPs для Visual Studio поддерживает следующие продукты: ... •Visual Basic 2010 Express •Visual C# 2010 Express •Visual C++ 2010 Express... Я вообще-то думал что есть "Visual C++" компилятор и в нем можно делать вышеобозначенный винигрет из C, C++ и C#. Теперь вообще ничего не понимаю, чего устанавливать, куда иттить. Так понимаю для компиляции Opal мне нужен C++. При этом VC++ net. win формы тоже поддерживает. А коим боком тогда VC#? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 18:32 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Express вряд ли позволит делать винигреды. Найти пиратку. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 18:38 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Antonariy, >Express вряд ли позволит делать винигреды А что тогда есть винигред? М.б. их тогда сразу делать из "VB.NET & C++" а не "C# & C++"? Я так теперь понял, C++.NET тоже есть и именно он используется в VC++ для WinForms...? так зачем мне тогда C#? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 18:57 |
|
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
|
|||
---|---|---|---|
#18+
Дмитрий77 М.б. их тогда сразу делать из "VB.NET & C++" а не "C# & C++"?Если в будущем ты собираешься заниматься только собственными проектами, старыми или новыми, то почему нет? Если же будешь наниматься, то увидишь, что vb.net практически никому не нужен. Дмитрий77Я так теперь понял, C++.NET тоже есть и именно он используется в VC++ для WinForms...? так зачем мне тогда C#?Если выполняется первое условие, то писать на нем не обязательно, но понимать его надо, потому что на нем написано 90% открытого кода под .net. Хотя я нашел одну нужную библиотечку на c#, которую проще допилить, чем перепилить на vb. Но там ад IE и бездна COM. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 19:35 |
|
|
start [/forum/topic.php?fid=60&msg=37912373&tid=2156762]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 155ms |
0 / 0 |