Поделиться через


Подготовка приложения Visual Basic 6.0 к обновлению

Обновлен: Ноябрь 2007

Несмотря на то что по большей части процесс обновления приложения версии Visual Basic 6.0 до версии Visual Basic 2008 является автоматическим, существует ряд операций, которые можно выполнить для оптимизации данного процесса при небольшой подготовке.

Следуя рекомендациям, описанным в этом разделе, можно минимизировать, а иногда и избежать внесения изменений в проект после его обновления до проекта Visual Basic 2008. В большинстве случаев эти рекомендации представляют рекомендуемые методы программирования; однако встречаются описания методов и объектов, для которых не существует равнозначных компонентов и которые следует использовать ограниченно, если предполагается обновление проекта до версии Visual Basic 2008.

Общие рекомендации

Это может показаться очевидным, но если проект не компилируется и не выполняется в Visual Basic 6.0, его обновление не будет успешным. Рекомендуется установить Visual Basic 6.0 на компьютере, на котором будет выполняться обновление. Кроме возможности проверять приложение, это позволит убедиться, что при обновлении будут доступны все необходимые элементы управления, компоненты и библиотеки типов.

Версия Visual Basic 2008 позволяет обновлять проекты версии Visual Basic 6.0; если проект написан на языке Visual Basic версии с 1 по 5, то сначала его необходимо загрузить в Visual Basic 6.0 (выбрав обновление элементов управления Microsoft ActiveX), скомпилировать и сохранить, после чего этот проект можно будет обновить до версии Visual Basic 2008.

Рекомендации в отношении форм и элементов управления

Версия Visual Basic 2008 включает пакет новых форм — формы Windows Forms. Формы Windows Forms в значительной степени совместимы с пакетом форм версии Visual Basic 6.0; однако существует ряд ключевых отличий, которые описаны ниже:

  • В версии Visual Basic 2008 не поддерживается элемент управления OLE Container; не следует использовать этот элемент управления в приложениях Visual Basic 6.0.

  • В версии Visual Basic 2008 отсутствует элемент управления "фигура". Такие фигуры, как квадраты и прямоугольники после обновления становятся надписями, а овалы и окружности не обновляются. Их не следует использовать в приложении.

  • В версии Visual Basic 2008 отсутствует элемент управления "линия". Горизонтальные и вертикальные линии после обновления становятся надписями. Диагональные линии не обновляются; нужно избегать их использования.

  • В версии Visual Basic 2008 существует новый набор команд для работы с графикой, которые заменяют существовавшие ранее в элементе управления Form методы Circle, CLS, PSet, Line и Point. Поскольку новая объектная модель значительно отличается от объектной модели версии Visual Basic 6.0, эти методы не обновляются.

  • Если свойству Interval элемента управления Timer присвоить значение 0, то отключения таймера не произойдет, а интервал будет изменен на значение 1. В проектах версии Visual Basic 6.0 вместо того чтобы устанавливать значение свойства Interval равным 0, нужно установить значение Enabled равным False.

  • В версии Visual Basic 2008 существует два элемента управления меню: MenuStrip и ContextMenuStrip, в то время как в версии Visual Basic 6.0 существует один элемент управления меню, который может быть открыт как элемент управления MainMenu или ContextMenu. Все элементы управления меню также обновляются путем замены на один компонент MenuStrip, содержащий элементы MenuItems для каждого элемента управления меню; после этого необходимо воссоздать контекстные меню и удалить лишние элементы управления MenuStrip.

  • В версии Visual Basic 2008 динамический обмен данными (DDE) не поддерживается.

  • В версии Visual Basic 2008 метод Form.PrintForm не поддерживается.

  • Хотя в версии Visual Basic 2008 функции перетаскивания и поддерживаются, но объектная модель полностью отличается от модели версии Visual Basic 6.0. Следовательно, свойства и методы функций перетаскивания версии Visual Basic 6.0 обновить невозможно.

  • В версии Visual Basic 2008 существует усовершенствованный объект Clipboard (My.Computer.Clipboard), позволяющий получить большие функциональные возможности и поддерживающий больше форматов буфера обмена, чем объект Clipboard версии Visual Basic 6.0. Однако из-за различий в объектных моделях обновить операторы буфера автоматически невозможно.

  • В версии Visual Basic 2008 не поддерживается свойство Name форм и элементов управления во время выполнения; следовательно, не следует писать код, выполняющий итерацию коллекции Controls с целью поиска элемента управления с определенным именем. (Теперь эта функциональная возможность доступа путем использования классов System.Reflection платформы .NET Framework.)

Рекомендации относительно данных

В Visual Basic 2008 введена расширенная версия технологии ADO, называемая ADO.NET, которая оптимизирована для работы с данными в распределенных приложениях и обладает более высокой производительностью при работе с такими приложениями по сравнению с технологией ADO.

Технологии RDO and ADO можно продолжать использовать в коде версии Visual Basic 2008 с некоторыми несущественными изменениями. Однако в версии Visual Basic 2008 не поддерживается связывание данных с элементами управления, элементами управления данными и пользовательскими подключениями RDO с использованием технологий DAO и RDO. Если приложение содержит связывание данных с использованием технологий DAO и RDO, то рекомендуется либо оставить его приложением версии Visual Basic 6.0, либо обновить связывание данных с использованием технологий DAO и RDO, заменив на технологию ADO, перед обновлением проекта до версии Visual Basic 2008 так как связывание данных с использованием технологии ADO формами Windows Forms поддерживается. Сведения о способах обновления технологий DAO или RDO до ADO в Visual Basic 6.0 см. в справке по Visual Basic 6.0.

Рекомендации по веб-архитектуре

В версии Visual Basic 2008 введена технология ASP.NET, являющаяся расширенной версией технологии ASP, а также веб-архитектура дополнена формами Web Forms, являющимися технологией создания веб-страниц с помощью модели событий, схожей с моделью Visual Basic. Данная архитектура является серверной.

Проще всего выполнить обновление приложений на основе веб-технологий, отвечающих следующим критериям:

  • приложения соответствуют рекомендациями корпорации Майкрософт по многоуровневой архитектуре;

  • в приложениях используется технология ASP.

  • в приложениях для бизнес-логики использованы COM-объекты языка Visual Basic 6.0 или Visual C++.

Технология ASP полностью поддерживается версией Visual Basic 2008; таким образом, можно продолжать расширение приложения с использованием технологий ASP, ASP.NET и Web Forms. Бизнес-объекты языков Visual Basic 6.0 и Visual C++ 6.0 можно использовать как без изменений, так и обновленными до версии Visual Basic 2008.

Веб-классы в версии Visual Basic 2008 отсутствуют. Существующие приложения с использованием веб-классов могут взаимодействовать с формами Web Forms версии Visual Basic 2008 и приложениями с использованием технологии ASP или их можно обновить до приложений на основе форм Web Forms.

См. также

Основные понятия

Вопросы, которые стоит продумать перед выполнением обновления

Необходимость обновления

Другие ресурсы

Обновление приложений, созданных в предыдущих версиях Visual Basic

Рекомендации по обновлению, касающиеся языка