Вопрос: Visual Basic 2008 Express - есть ли проблемы?
Добавлено: 03.04.09 20:03
Автор вопроса: MYSTERIOR | Web-сайт:XXX | ICQ: 227369659
Ребят, делаю сейчас программу на VB6.0. Вообще, следует сказать что всю жизнь работал на VB6, как он только появился, с ним и познакомился. Сейчас возникла достаточно острая необходимость переходить на .NET по своим причинам.
И вот такая ситуация. Половина программы - а точнее только интерфейс - сделаны в VB6, нормально ли оно откроется в VB2008?
И второй, пожалуй самый важный вопрос, дело в том что если все получится, то эта программа, возможно, будет использоваться многими пользователями в следствие её специфики. Соответственно, нужно чтобы она работала везде стабильно.
У меня дома стоит Windows Vista. VB2008 требует .NET Framerwork 3.5. Скажите, обязательно ли, что чтобы запустить мою программу на компьютере другого пользователя например с Windows XP, ему нужно будет скачать громоздкий пакет .NET Framerwork 3.5 или можно будет зашить в инсталл какие-то необходимые системые файлы и все?
Крайне обеспокоен этим делом потому что распространять программу на в интернете весом в 40 мб, решающую крайней узкопрофильную задачу в 15 строчек кода, это по меньшей мере странно. Заранее благодарен за ответ!
По поводу 1 вопроса. Если будут использоваться что то что в Нет по другому работает или его в Нет вообще нет, тос ВБ6 на ВБ.Нет ты нормально не сможешь перевести - придётся менять код. Примером такого - индэксы объектов в ВБ,Нет нету, тое динамическое создание объектов реализовано другим способом и если это есть то код надо будет переписать. Ещё в ВБ.Нет нет такого объекта как Data(доступ к данным) если он используется, то перевести тоже не сможешь, ну и ещё куча всякого - это то что я вспомнил на скорую.
По поводу второго вопроса. Я точно не знаю, но на сколько я понимаю если ты будешь использовать методы или классы NET Framerwork 3.5, то на конечно потребуется чтоб на клиентах был NET Framerwork 3.5. Я точно не знаю, мож ВБ 2008 использует только NET Framerwork 3.5, тогда точно понадобится.
ну по поводу первого - там особо ничего нет пока, только все окошки нарисованы, прозрачные появления форм, и т д.
А вот со вторым надо что то думать. Нельзя чтобы программа предлагала качать .NET Framework... может быть есть возможность узнать какие конкретно функции она использует из каких библиотек этого фреймворка и просто устанавливать их вместе с exe-шником?
я где-то кажется читал, что если установить сервис пак 1 на студию, то появляеца фича, что в проект суюца все задействованные библиотеки фреймворка и полностью фреймворк качать не придется, если не установлен. насколько это достоверно не знаю.
блин, у меня сервис пак1 студио 2008, ничего такого не нашел
2 часа провозившись с ЭТИМ я сделал важдый вывод:
Ну нафиг этот VS2008! Толку от него если ты не MS-разработчик никакого не увидел, думал что с XML-появился возиожность легко работать - фиг вам, тут недостатки перевешивают достоинства.
При запуске программы на XP системе (просто окна ничего больше), начал сам качать с сайта майкросовофт ФВ, скачал за 7 минут, устанавливал 45.
Нафиг все эти радости жизни, наверняка и в VB6 можно нормально работать с XML-файлами и вытаскивать из них нифу.
может кто подскажет как это делается?
MYSTERIOR у меня стоит Вижуал студиос 2005, сам перехожу с ВБ6 на ВБ8, тяжко, так как многое поменяли, некоторое изменили до неузнаваемости и очень много нового. Но если ты потыкаешься поучишь и разберёшься, то поймёшь, что прогресс очень большой. Я это очень явно увидел в АДО. Адо по другому вообще работает и можно сохранять базы в хмл формате. И с хтмл файлами действительно в Вижуал студиос 2000+ легче работать и с каждым поколением всё легче и легче. Просто надо разобраться и понять как что работает. А если столкнулся с какой то проблемой то посмотри тут http://msdn.microsoft.com/ru-ru/default.aspx Я сам мало там искал, так как книги пока читаю, тое учу, но полезной имфы много - главное разобраться как искать
И вот такая ситуация. Половина программы - а точнее только интерфейс - сделаны в VB6, нормально ли оно откроется в VB2008?
Если тебе крупно повезет и мастер конвертации VB6->VB2008 сделает проект который будет компилироваться хотя бы без ошибок (но с кучей варнингов), это не даст гарантии что программа будет работать так как работала раньше.
Я бы советовал перписывать код с нуля.
И второй, пожалуй самый важный вопрос, дело в том что если все получится, то эта программа, возможно, будет использоваться многими пользователями в следствие её специфики. Соответственно, нужно чтобы она работала везде стабильно.
У меня дома стоит Windows Vista. VB2008 требует .NET Framerwork 3.5. Скажите, обязательно ли, что чтобы запустить мою программу на компьютере другого пользователя например с Windows XP, ему нужно будет скачать громоздкий пакет .NET Framerwork 3.5 или можно будет зашить в инсталл какие-то необходимые системые файлы и все?
Для того, чтоб программа заработала, необходимо установить .NET Framework той версии, под которую ты программу собирал. Visual Studio 2008 может собирать программы под .NET Framework 2.0, 3.0 и 3.5.
Никакие системные файлы никуда "зашивать" не надо. Вряд ли ты, не имея специальных инструментов и знаний, сможешь это сделать.
.NET Framework является недилимым. То есть, если ты воспользуешься хотя бы одной функцией из .NET Framework, тебе прийдется ставить на комп весь .NET Framework. Более того, если ты вообще скомпилируешь пустой проект без ничего - тебе все равно прийдется ставить на комп весь .NET Framework.
В Microsoft предпринимаются попытки разделить .NET Framework на части, и уже есть некоторые результаты (например, на Windows Server 2008 R2 Core ставится урезаный .NET Framework 3.5, который позволяет создавать серверные приложения), но тебе это никак не поможет.
Крайне обеспокоен этим делом потому что распространять программу на в интернете весом в 40 мб, решающую крайней узкопрофильную задачу в 15 строчек кода, это по меньшей мере странно. Заранее благодарен за ответ!
40 МБ - излишне оптимистичная оценка. Последняя версия .NET Framework весит больше 200 мегабайт.
Странного здесь ничего нет. Потмоу что этот компонент разработан неделимым. То есть, или ты используешь .NET Framework и тянешь за собой этот компонент полностью, или не испольузешь и не тянешь его. Но тогда тебе прийдется отказаться от .NET как такового (разве что использовать VS .NET для разработки под Native C++, или редактирования HTML).
Aston пишет:
По поводу второго вопроса. Я точно не знаю, но на сколько я понимаю если ты будешь использовать методы или классы NET Framerwork 3.5, то на конечно потребуется чтоб на клиентах был NET Framerwork 3.5. Я точно не знаю, мож ВБ 2008 использует только NET Framerwork 3.5, тогда точно понадобится.
VS 2008 позволяет собирать проекты под 2.0, 3.0 и 3.5.
Но не могу сказать это про Express версию - нужно самому проверить (при создании проекта есть комбо-бокс, в котором выбираешь целевую версию .NET Framework)
MYSTERIOR пишет:
ну по поводу первого - там особо ничего нет пока, только все окошки нарисованы, прозрачные появления форм, и т д.
После конвертации все это может работать не так как работало раньше
MYSTERIOR пишет:
А вот со вторым надо что то думать. Нельзя чтобы программа предлагала качать .NET Framework... может быть есть возможность узнать какие конкретно функции она использует из каких библиотек этого фреймворка и просто устанавливать их вместе с exe-шником?
Узнать какие функции в каких библитоеках прогармма испольузет можно. Но тебе эта информация никак не поможет - никакой возможности разделить .NET Framework на части у тебя нет
MYSTERIOR пишет:
Ну нафиг этот VS2008! Толку от него если ты не MS-разработчик никакого не увидел, думал что с XML-появился возиожность легко работать - фиг вам, тут недостатки перевешивают достоинства.
Ты не прав
Сейчас Visual Studio это на сегодняшний день самая мощная среда разработки. Это стандарт дефакто. Никаких альтернатив, которые бы хотя бы немного дотягивали до возможностей VS ты не найдешь. Потому что их нет.
В Visual Studio ты можешь создавать все - начиная от драйвера или программы которая будет выполняться на микроконтроллере заканчивая серверной системой которая будет работать на кластерах. И не только программисты MS этим занимаются
Про XML ты не прав. В VS 2008 просто шикарные возможности работы с XML.
Вот XML генерируется на основе файловой системы
Dim Root AsNew DirectoryInfo("D:\Work\output\sites\")
Dim X = <Sites>
<Groups>
<%= From Gr _
In Root.GetDirectories _
Select <Group name=<%= Gr.Name %>>
<%= From St _
In Gr.GetDirectories _
Select <Site name=<%= St.Name %>/> %>
</Group> %>
</Groups>
</Sites>
X.Save("sites.txt")
А вот XML из данных которые лежат в БД
Dim RssContent = <?xml version="1.0" encoding="utf-8"?>
Нафиг все эти радости жизни, наверняка и в VB6 можно нормально работать с XML-файлами и вытаскивать из них нифу.
Удиви нас, как же ты в VB6 работаешь с файлами XML? Наверно делаешь кучу циклов с InStr? Или подключаешь какой-то левый компонент для работы с XML?
Aston пишет:
MYSTERIOR у меня стоит Вижуал студиос 2005, сам перехожу с ВБ6 на ВБ8, тяжко, так как многое поменяли, некоторое изменили до неузнаваемости и очень много нового. Но если ты потыкаешься поучишь и разберёшься, то поймёшь, что прогресс очень большой. Я это очень явно увидел в АДО. Адо по другому вообще работает и можно сохранять базы в хмл формате
Возможность сохранять базы в XML есть, но я бы не рекомендовал ею пользоваться Для небольших локальных баз лучше использовать SQL Server CE (который уже даже поддерживается в LinQ, правда с небольшим скрипом)
А вообще возможности ADO .NET сейчас просто срывают башню Рекомендую почитать про LinQ to SQL, Entity Data Model, ADO .NET Data Services, узнаете много нового
ребят, если б знал как такое делать с XML - совета бы не спрашивал, сами понимаете) не работал я никогда с XML, вот сижу сейчас, разбираюсь с том как там все это организовано - сложновато конечно.
основная проблема в том, что для VB6 не могу найти никаких библиотек для того чтобы вытащить нужную информацию из XML файла. разбираться "как сделать рабочую кнопочку в VS2008" на данном этапе нет ну никакого желания, хотя я здравомыслящий человек, и понимаю, что против прогресса не попрешь, и когда нибудь это надо будет, а чем раньше - тем лучше.
может кто знает, есть вообще какие библиотеки для VB6 для того чтобы работать с XML файлами? просто не приходилось раньше, а википедия да статьи по VS2005 не особо в этом помогают... хз, может плохо искал)
MYSTERIOR пишет:
ребят, если б знал как такое делать с XML - совета бы не спрашивал, сами понимаете) не работал я никогда с XML, вот сижу сейчас, разбираюсь с том как там все это организовано - сложновато конечно.
Ну установка Visual Studio 2008 не означает что при этом в мозг разработчика будет транслировано содержимое MSDN. Его, видимо по какой-то причине прийдется изучать самостоятельно.
Про то что работать с XML "сложно" можешь не говорить
Работать с XML в VB .NET настолько просто, что разные VB6 и ассемблеры и рядом не лежали
Я же тебе показал насколько просто генерируется XML. Читать же его еще проще!
Блин, ну я не представляю себе, неужели можно сделать что-то еще проще?
MYSTERIOR пишет:
основная проблема в том, что для VB6 не могу найти никаких библиотек для того чтобы вытащить нужную информацию из XML файла. разбираться "как сделать рабочую кнопочку в VS2008" на данном этапе нет ну никакого желания, хотя я здравомыслящий человек, и понимаю, что против прогресса не попрешь, и когда нибудь это надо будет, а чем раньше - тем лучше.
Как сделать рабочую кнопку в VS 2008? Да легко, перетянул с тулбокса на форму, даблклик по форме и пиши обрабочтик события. Что еще проще можно придумать?
MYSTERIOR пишет:
может кто знает, есть вообще какие библиотеки для VB6 для того чтобы работать с XML файлами? просто не приходилось раньше, а википедия да статьи по VS2005 не особо в этом помогают... хз, может плохо искал)
Википедия тебе здесь не поможет, это все-таки не специализированый технический справочник.
А вот если зайдешь на live.com, напишешь "vb6 xml" и ткнешь "Search" то сможешь найти кое-что интересное.
У Microsoft была какая-то комовская MSXML, тебе видимо именно ее и прийдется использовать, если хочешь под VB6 сделать.