.
Бывший когда-то инструментом общего назначения, пакет VB теперь оснащен более совершенными функциями управления базами данных и работы в Интернете, ориентированными непосредственно на рынок корпоративных систем.
Похоже, корпорация Microsoft в последние несколько лет сосредоточила свои усилия исключительно на Интернете - это проявляется даже в системе программирования Visual Basic. Версию 6.0 своего самого популярного языка программирования Microsoft оснастила множеством функций, с помощью которых можно строить прикладные программы для Web. Хотя эти функциональные возможности уже были введены в систему VB5 в виде дополнительных модулей, они гораздо лучше интегрированы в VB6 и более разнообразны.
Стремясь укрепить свои позиции в секторе Web-приложений, Microsoft на этот раз сосредоточила усилия почти исключительно на разработке функций VB6, предназначенных для работы в Интернете, а также на расширении возможностей управления базами данных, т. е. в конечном итоге на корпоративной редакции (Enterprise Edition) данного продукта.
Разумеется, в VB6 не обошлось без заметных усовершенствований ядра пакета. Тем не менее кое-что в этой версии ухудшилось. В целом, VB6 примерно на 10% дороже VB5. Например, цена нового экземпляра пакета VB6/Pro на 50 долл. выше, чем у VB5, - 549 долл. против 499 долл. (рекомендуемая изготовителем цена). Однако переход на VB6/Pro для владельцев предыдущей версии, объем продаж которой будет наибольшим, обойдется на 15% дороже - 229 долл., тогда как цена обновления VB5/Pro составляла 199 долл. И, что еще хуже, фактически рекомендуемая изготовителем цена обновления составляет 279 долл. Вам придется позаботиться о возвращении одного из купонов на скидку, чтобы получить назад свои 50 долл.
Стоит уделить особое внимание практическим вопросам применения Visual Basic. Обновление версий традиционно ставит перед разработчиками специфические проблемы. Всегда приходится что-то изменять в тексте программ или настраивать параметры рабочей среды, чтобы VB-проект правильно работал с новой версией. Пропуск версии VB обостряет эту проблему, удваивая число трудностей, связанных с обновлением. Поэтому для профессионалов, регулярно работающих с VB, постоянное обновление версий должно быть само собой разумеющимся. Каждый из гигантской массы программистов, применяющих VB, просто вынужден оплачивать все модификации успешно развивающейся системы Microsoft VB.
Давайте сначала рассмотрим функции VB6 для работы в Интернете, а затем перейдем к функциям ядра новой версии этого пакета.
Работа в Интернете
В характерной для себя манере Microsoft эффектно демонстрирует функции VB6 для работы в Интернете. Нам удалось воспроизвести примеры, прилагаемые как часть рабочего руководства пакета VB6 менее чем за 15 минут, и результаты были впечатляющими.
Примеры, предлагаемые Microsoft, выполняются легко и быстро, потому что наиболее трудная работа по формированию реальных страниц Web, применяемых в этих проектах (а также некоторых компонентов самих проектов), уже проведена ранее. Процесс предусматривает подготовку Web-страниц с помощью Microsoft Visual InterDev или какого-либо другого инструмента с последующим применением VB для связывания программ обработки событий на VB или элементов управления ActiveX с этими страницами. Другими словами, нельзя выполнить всю работу только средствами VB. В этом состоит главное отличие VB от таких систем разработки, как Clarion фирмы Topspeed, в которой готовую прикладную программу можно одним щелчком мыши преобразовать в интерактивные Web-страницы. В VB применяется подход, основанный на использовании компонентов: взяв HTML-текст Web-страниц, вы формируете компоненты VB для связывания с ними.
Есть два метода построения ориентированных на Web прикладных программ VB, причем оба они представлены новыми типами приложений VB. В одном для составления программ на базе информационного сервера Интернета IIS (Internet Information Server) применяется новая объектная модель WebClass. При другом подходе программа на VB привязывается к объектам - элементам управления ActiveX в рамках объектной модели динамического HTML (Dynamic HTML, DHTML). Оба метода имеют ряд специфических для Microsoft особенностей. IIS - продукт Microsoft, составная часть Windows NT Server. Следовательно, основанные на применении IIS прикладные программы VB будут функционировать только на Web-серверах, работающих под управлением NT. Язык DHTML еще не превратился в стандарт для Интернета, по крайней мере пока, поэтому для применения данного подхода требуется, чтобы пользователь просматривал такие Web-страницы с помощью браузера Microsoft Internet Explorer (IE) Version 4.01.
Чтобы начать разработку программы на базе IIS, надо выбрать в диалоговом окне New Project (Новый проект) пункт IIS Application. В качестве простого примера в рабочем руководстве показано, как строить программы с помощью «конструктора» (окна проектирования). Поля Approved (Доступ разрешен), Denied (Доступ запрещен) и Login (Регистрация) представляют собой HTML-страницы, сформированные вне среды VB. На странице Login определено событие Submit (Выполнить), при наступлении которого выполняется сбор регистрационной информации, вводимой просматривающим Web-страницу пользователем, и затем в зависимости от полученных данных происходит переход к странице Approved или Denied. На правой панели «конструктора» выводятся все теги (дескрипторы) HTML со связанной Web-страницы, в том числе описывающие кнопку Submit. VB преобразует Web-страницу для связывания кнопки Submit с фрагментом программы, отвечающим за обработку этого события. В VB6 имеются встроенные средства проверки разрабатываемой программы: нажатие клавиши F5 для выполнения приложения приводит к запуску IE4 и выводу на экран связанной Web-страницы.
Для начала разработки DHTML-программы надо выбрать в диалоговом окне New Project пункт DHTML Application. В качестве примера в руководстве приводится «конструктор», применяемый для построения такой программы. В этом примере в форму ввода заказа вслед за меткой «Ship Date» (Дата отгрузки) был помещен новый фирменный элемент управления ActiveX - DateTimePicker. Для этого мы «отбуксировали» элемент управления с панели инструментов ToolBox на Web-страницу, отображаемую в правой половине окна «конструктора». Вывод на экран сообщения о корректности выбранной даты осуществляется фрагментом программы, связываемым с событием Click элемента DateTimePicker. На левой панели окна «конструктора» отображаются компоненты DHTML-страницы, в том числе добавленный нами элемент DateTimePicker. Тестирование DHTML-приложения, как и IIS-программы, - встроенный процесс.
Заметьте, что большая часть элементов управления в панели инструментов ToolBox отключена. Дело в том, что основные элементы управления, имеющиеся в пакете VB, не относятся к ActiveX-компонентам, а представляют собой жестко запрограммированные элементы управления VB. Поскольку с DHTML-программой будут работать лишь элементы управления ActiveX, то в данном случае можно пользоваться только ими.
Несмотря на легкость, с которой мы справились с примерами, разработка программ такого типа не так проста, как пытается уверить нас Microsoft. Необходимо понимать концепции, лежащие в основе Web-страниц, и быть знакомым с языком HTML. Нужно уметь визуально отображать взаимосвязь между информацией, получаемой от «конструктора», и ранее сформированными Web-страницами. Для разработки IIS- и DHTML-программ вы должны понимать объектную модель VB. И, конечно же, надо уметь строить Web-страницы, с которыми будет связываться программа, составленная с помощью VB. Фирма Microsoft славно потрудилась, интегрировав средства проектирования в ИСР VB, поэтому по крайней мере часть работы выполняется графически, а не путем ввода строк программы. Однако придется разбираться, что обозначают древовидные конструкции на левой панели окон проектирования. Таким образом, краткость нашего описания дает не совсем верное представление о внутренних сложностях разработки прикладных программ для Интернета с помощью VB.
В ходе обсуждения функций VB6 для работы с Интернетом мы упомянули концепцию «конструкторов» (окон проектирования). «Конструкторы» - это новые компоненты Visual Basic, которые могут входить в состав проекта наряду с формами, MDI-формами, модулями, модулями классов и т. д. «Конструкторы» не относятся к универсальным элементам. В проекте можно использовать только «конструкторы», разработанные Microsoft, а их всего четыре: DHTML, WebClass (для IIS-приложений), DataReport и DataEnvironent. Чуть позже мы обсудим два «конструктора», связанные с обработкой данных.
Компоненты ядра системы
VB6/Pro поставляется на трех компакт-дисках. На одном содержится сам VB, а на двух других редакция сетевых средств разработчика Microsoft (MSDN, Microsoft Developer Network) для Visual Studio. Компакт-диски с MSDN очень важны, поскольку на них размещаются все файлы справочной системы.
Процедура инсталляции стала сложнее: увеличилось число необходимых шагов, причем требуется несколько раз перезапустить систему. Сначала устанавливается VB6, затем MSDN. Наконец, предлагается установить различные служебные программы, такие, как серверные расширения пакета Microsoft FrontPage 98. Довольно трудно определить необходимый объем используемого дискового пространства, поскольку компоненты размещаются в различных папках, но предполагается, что для типовой установки потребуется от 100 до 150 Мбайт. Установка длится примерно 20 минут. Для новейших версий продуктов серии Visual Studio становится обычным предложение удалить предшествующие версии. Если согласиться с ним, время инсталляции возрастет. Хотя Microsoft не рекомендует устанавливать VB6 и предшествующие версии в одной системе, у нас на одном компьютере установлены профессиональные редакции VB4, VB5 и VB6, но никаких проблем пока не возникало.
ИСР осталась такой же, как в VB5. Появились два новых пункта меню - Query и Diagram, с помощью которых осуществляется непосредственное управление процессом формирования запросов к базам данных и работой с ними, а также проектированием самих баз данных и выводом диаграмм по информации из них. Этих дополнений ИСР давно ожидали пользователи. Однако пункты Query и Diagram активны только при наличии подключенной к серверу БД, например SQL Server, DB2, Sybase или Oracle. Для прикладных программ, в которых применяется технология Jet (обычная практика среди разработчиков VB), пункты меню Query и Diagram остаются заблокированными.
Существенное изменение - переход от WinHelp к HTMLHelp, хотя трудно сказать, хорошо ли это. Качество справочной системы VB начало ухудшаться в версии VB4 из-за сокращения числа примеров. В VB5 эта тенденция продолжалась: появились ссылки на многочисленные справочные файлы. В обеих версиях число разорванных гиперсвязей возрастало. Все эти проблемы характерны и для VB6.
Для программиста средней квалификации тенденция к снижению числа примеров весьма болезненна. Первоначально VB отличался наличием примеров, иллюстрирующих почти любое применение его средств. Из них новички, а также пользователи, овладевающие новыми возможностями VB, черпали ценную информацию. И хотя многие сложные функции VB трудно проиллюстрировать краткими примерами, для более простых функций примеры были бы весьма кстати, однако и они все чаще отсутствуют.
На первый взгляд установление связей между несколькими справочными файлами - неплохая идея, но практическое ее воплощение ужасно. Проблема заключается в потере контекста. Например, если на одном компьютере установлены VB5 и Microsoft Office, перемещение по файлам справочной системы VB5 может привести в справочную систему MS Access. Единственный положительный момент состоит лишь в том, что при использовании WinHelp можно явно определить, какой справочный файл выводится на экран. В новой справочной системе HTMLHelp это не предусмотрено. При работе с VB6 просмотр осуществляется по всему набору справочных файлов пакета Visual Studio - более 800 Мбайт информации. Здесь нельзя отличить одну справочную страницу от другой, поэтому, активизируя расположенную в теме по VB ссылку, ведущую, как вы предполагаете, к дополнительной информации по VB, можно попасть на тему с похожим названием, которая не имеет ничего общего с VB.
Наш любимый пример такого рода - поиск справки о получении программным путем информации о номере версии Visual Basic. В действительности, в VB нет никаких синтаксических конструкций для этого. Однако последовательные ссылки могут привести к примеру, который называется Version Property Example (Пример использования свойства «версия»). Здесь можно найти оператор Debug.Print Application.VBE.Version. Звучит неплохо, но на деле оказывается, что эта синтаксическая конструкция специфична для языка Visual Basic for Applications (VBA) и применяется для определения версии управляющего модуля VBA (например, MS Word). В то же время нет даже намека на то, что данная тема не имеет отношения к VB6.
Наличие полной справочной системы по пакету Visual Studio на самом деле полезно лишь для тех, кто хочет углубленно изучить VB. Специалисты Microsoft пытаются справиться с данной проблемой, формируя подмножества справочной информации. Любое подмножество легко может быть выбрано из комбинированного окна. Одно из таких подмножеств называется Visual Basic Documentation (Документация по Visual Basic). При его выборе изменяется вид указателя, так что элементы, не имеющие отношения VB, оказываются заблокированными (окрашенными в серый цвет). Тем самым выделяется информация, относящаяся к VB. Лучше было бы просто скрывать элементы, не относящиеся к VB, поскольку указатель со ссылками для всего пакета Visual Studio имеет гигантский объем. Экран заполняется серым цветом, разбавленным редкими темами VB. У подмножеств есть и другие, свойственные только им, проблемы. В данном случае справочная система выдает сообщение о том, что выводимая на экран тема по
Проблема разорванных связей от версии к версии растет с числом файлов справочной системы. Теперь, когда все размещается на одном диске со справочной системой Visual Studio, ситуация стала еще хуже. При неработающих ссылках неизвестно, как найти информацию другими способами. Можно искать ее часами, но никогда не найти ту страницу, к которой, предположительно, должна была привести разрушенная связь.
Если вы думаете, что мы излишне придирчивы к справочной системе, учтите, что в комплекте VB больше нет печатных руководств. Они приобретаются отдельно и стоят весьма дорого. Microsoft подразумевает, что основным источником информации будет прилагаемая электронная документация. В этом нет ничего плохого, пока качество, полнота и подбор этой документации остаются на должном уровне.
Одна полезная функция, впервые появившаяся в VB5, - контекстно-чувствительная подсказка, доступная из инспектора объектов (object browser). Большинство пользователей VB знают, что ее можно вызвать, щелкнув правой клавишей мыши на имени в исходном тексте программы и выбрав пункт Definition (Определение). Для переменных и функций, определяемых пользователем, при этом выводится описание переменной или функции. Для ключевых слов и встроенных элементов VB5 и VB6 запускают VB Object Browser, который выводит сообщение о том, к какому классу принадлежит этот элемент, и каков его синтаксис. Щелчок правой клавишей мыши в данный момент приводит к появлению еще одного меню, в котором есть ссылка на справочный файл. Многие не знают, что для вызова справочной системы достаточно еще одного щелчка мышью.
Переход от VB5 к VB6
При каждом переходе к новой версии VB были некоторые изменения, которые вынуждали разработчиков переделывать свой проект под новую версию. В прошлом предусматривалось такое преобразование текста программ, как изменение элементов управления, синтаксиса VB и определенных методов. Приятно, что мы не обнаружили таких ловушек при переходе от VB5 к VB6. Фактически, как только нам удалось преодолеть одну большую проблему, связанную с переходом к VB6, мы смогли преобразовать, скомпилировать и запустить десяток небольших апплет и две крупные промышленные системы, не внося никаких изменений в тексты программ. На нашей памяти это произошло впервые - большое достижение Microsoft.
Серьезная проблема возникала при переходе от VB4 к VB5, поэтому мы были весьма разочарованы, снова столкнувшись с ней. Если в своей программе на VB5 вы применяете какие-либо типовые элементы управления Windows, например инструментальные панели (ToolBars), списки изображений (ImageLists) или строки состояния (StatusBars), при переходе к новой версии надо быть внимательным.
В VB5 эти и другие элементы управления содержатся в DLL-файлах COMCTL32.OCX и COMCT232.OCX. В случае VB6 они находятся в файлах COMCTL.OCX, COMCTL2.OCX и COMCT332.OCX. Любому регистрируемому в Windows элементу присваивается некий глобальный уникальный идентификатор - GUID (Globally Unique Identifier). Если посмотреть на файл проекта VB с помощью текстового редактора, можно увидеть, что в ссылках на OCX-файлы применяются не имена, а идентификаторы GUID - длинные последовательности шестнадцатеричных цифр, разделенных несколькими дефисами. Проблема возникает оттого, что идентификаторы GUID для типовых элементов управления Windows в версиях VB5 и VB6 различаются.
До тех пор пока при переносе проекта в VB6 применяются элементы управления VB5, можно не беспокоиться. Проблемы возникают при попытке конвертировать проект. При преобразовании проекта VB4 из среды VB5 выдается запрос: хотите ли вы обновить версию проекта. При ответе «да» все типовые элементы управления Windows превращались в графические изображения (Picture Boxes), поскольку в VB нет механизма сопоставления идентификаторов GUID старых элементов управления с их новыми версиями. При работе с бета-версией VB6 эта ситуация воспроизводилась полностью, но Microsoft утверждает, что в коммерческой версии продукта этот недочет будет устранен. Для этого Microsoft предоставит небольшую программу, которая просматривает проект VB5 и изменяет нужным образом GUID. Этот конвертор надо запускать до первой загрузки проекта в VB6. Мы испытали бета-версию конвертора, который пока не имеет названия. Она работала превосходно. Microsoft предполагала поместить этот конвертор на Web-узел VB ко времени начала поставок VB6.
Несмотря на то что данная проблема существовала еще при переходе от VB4 к VB5, Microsoft не устранила ее даже к моменту завершения процесса бета-тестирования VB6. Будем надеяться, что когда-нибудь такое преобразование будет выполняться автоматически при загрузке проекта VB6 в рабочую среду VB7 или, если нам действительно повезет, конвертор будет включен в состав пакета исправлений Service Pack.
Производительность
С каждой новой версией производительность Visual Basic возрастает. Microsoft указывает несколько сфер применения VB6, в которых повысилась производительность.
Как утверждает фирма, ускорен доступ к данным благодаря «использованию усовершенствованных драйверов БД и компонентов доступа к данным». Мы испытали две рабочие программы на основе технологии Jet (DAO) и не заметили сколько-нибудь заметных улучшений. Однако, учитывая явную заинтересованность Microsoft в обеспечении взаимодействия с такими СУБД, как Oracle и собственная система SQL Server, мы предполагаем, что большая часть усовершенствований коснулась именно этой области. Но во время подготовки данной статьи мы не проводили испытаний при подключении к таким СУБД.
Кроме того, Microsoft утверждает, что был усовершенствован процесс обработки форм, в частности их загрузка. Существенные улучшения были заметны в VB5, и это стало одной из самых серьезных причин для перехода на новую версию продукта. Улучшений в VB6 мы не заметили. Большие сложные формы по-прежнему могут быть медлительными.
Мы сравнили время, которое было необходимо для загрузки на одной и той же машине версии VB6 и проекта, а также VB5 и такого же проекта. Нам показалось, что VB6 был чуть медленнее, хотя такое снижение производительности будет совершенно незаметным благодаря росту быстродействия современных процессоров.
Одна область, в которой пакет VB6 заметно улучшен, - обработка строк, давно бывшая камнем преткновения для программистов VB. В VB6 имеется довольно много новых функций для обработки строковых переменных, предназначенных для ускорения выполнения типовых операций со строками. Некоторые из них, по-видимому, основаны на собственных приемах программирования Microsoft, а не на повседневной практике широкого круга программистов, применяющих VB. Примером служит функция Split, которая делит строку на слова, фразы или подстроки, основываясь на положении заданного разделителя. Эта функция полезна для разработчиков компиляторов или системных программистов, а для тех, кто выпускает коммерческие прикладные программы, она менее интересна. К той же категории относятся функции Filter, Join и StrReverse. Мы приветствуем появление функции InstrRev, с помощью которой осуществляется поиск вхождения подстроки с конца строки, поскольку она полезна при выполнении такой типовой задачи, как синтаксический разбор маршрутов доступа к файлам. Хороша и долгожданная функция Round, хотя ее присутствие в списке строковых функций небесспорно. (Round воспринимает строковый аргумент, если его можно интерпретировать как число.)
Возможно, наиболее интенсивно применяется строковая функция Format$, способная преобразовывать значение почти любого типа в строку, форматированную произвольным образом. Из-за того что эта функция универсальна, она работает медленно. В VB6 имеются специализированные версии функции Format для большинства типовых задач форматирования: FormatDateTime, FormatCurrency, FormatPercent и FormatNumber. Главное отличие этих функций от функции Format$ заключается в том, что им заранее известен тип обрабатываемого значения, поэтому нет необходимости проводить синтаксический разбор строки, чтобы определить, как должна выглядеть отформатированная строка. Исключение строки формата, вероятно, вносит наиболее значительный вклад в ускорение операции. Подобные специализированные функции, основанные на применении Format$, уже входят в библиотеки большинства профессиональных программистов, но их появление среди встроенных функций языка программирования можно только приветствовать.
Еще бы! Мы написали простую тестовую программу для сравнения быстродействия функций двух видов. Новые функции быстрее в два-пять раз; это заметное улучшение.
Нам было любопытно узнать, повысилось ли также быстродействие базовых функций обработки строк, таких, как Mid$ и операции слияния(&).Усовершенствование подобных функций приводит к ускорению выполнения любой программы без внесения изменений в ее текст. Чтобы проверить это, мы также составили небольшую тестовую программу. Есть версия этой апплеты и для VB5, и для VB6, причем каждая из них показывает результаты другой. К нашему разочарованию, мы отметили некоторое замедление почти для всех проверявшихся функций в среде VB6. Поскольку расхождения были малы, мы подумали, что они могут быть вызваны неточной работой функции Timer. Однако при повторных прогонах тестовой программы были воспроизведены те же результаты.
Справедливости ради следует отметить, что все функции обработки строк стали быстрее с появлением в версии VB5 компилятора. Однако печально, что произошел частичный отход назад, особенно с учетом намного более быстрой обработки строк другими продуктами (в первую очередь это относится к пакету Delphi компании Inprise).
Обработка данных
В целом работа с базами данных в VB6 заметно улучшена. Ранее мы уже отметили два новых «конструктора»: Data Environment и Data Report. Хотя VB позволяет формировать новый проект под названием Data Project и все примеры, предлагаемые Microsoft, относятся к этой категории, данные «конструкторы» можно применять в стандартном проекте VB.
Как работает «конструктор» Data Environment. В его окне отображаются все доступные проекту подключения (источники данных), а также их специфические элементы. Кроме того, в окне Data Environment можно видеть взаимосвязи между такими элементами. В правой части экрана расположено окно Data View, запускаемое нажатием кнопки Data View Window на панели инструментов. В нем показывается содержание связи. Таблицы из такого окна просто переносятся с помощью мыши в «конструктор». Именно здесь можно просмотреть и изменить страницы свойств таблицы, в том числе закладку Relation, на которой описываются связи между таблицами. В данном случае таблица Orders связана с таблицей Customers, а Order Details - с Orders. Данное иерархическое представление можно видеть в окне «конструктора».
Форма для этого простого проекта была построена одной операцией drad-and-drop. Мы лишь перенесли мышью поле Customer name (фамилия заказчика) в форму. «Конструктор» вставил поля для всех элементов записи, относящейся к заказчику, и добавил табличные бланки (MSFlexGrid) для таблиц Orders и Details. Запустив полученную программу, мы увидели, что она работает правильно, хотя для перехода от первой записи к другим необходимо добавить элементы управления перемещениями.
«Конструктор» Data Report показан в правом нижнем углу. Традиционный внешний вид этого «конструктора» с использованием полос сразу делает очевидным его назначение. Действительно, Data Report - генератор отчетов в стиле Microsoft Access. Данный «конструктор» относительно прост в применении и интуитивно понятен.
Появление собственного генератора отчетов в VB - долгожданное событие. Хотя пакет Crystal Report фирмы Seagate - прекрасный продукт, та его версия, которая традиционно входила в комплект поставки VB, как минимум, на одно поколение старше. Фирма Seagate заинтересована в том, чтобы стимулировать у пользователей VB желание приобрести полную версию ее продукта. Мы надеемся, что Data Report может стать важной частью рабочей среды VB и разовьется до полноценной системы подготовки отчетов, используемой по умолчанию. Пока этот «конструктор» станет таким, каким он должен быть, вероятно, выйдет пара версий, что соответствует традициям Microsoft. Что касается Crystal Report, то он по-прежнему входит в комплект пакета, однако на этот раз он не был обновлен вместе с VB - с ним поставляется та же версия (4.6), что и с VB5.
То, что начиналось как образец программы на VB несколько версий назад, теперь стало составной частью рабочей среды VB. Графический администратор данных - Visual Data Manager (VisData) - упрощает работу с базами данных, входящими как составная часть в программу пользователя. VisData представляет собой простое средство для просмотра и отбора данных с помощью запросов, при этом он намного проще и компактнее, чем Access, и работать с ним существенно удобнее, особенно если учесть, что его можно вызвать из первой строки меню Add-Ins (Дополнения) пакета VB6. VisData по-прежнему остается примером программы - его исходный текст находится в папке с образцами программ VB6 на компакт-диске. У VisData есть ряд специфических для Jet-систем функций, таких, как Compact (Упаковать) и Repair (Восстановить), поэтому его можно применять как полезную утилиту для клиентов, не имеющих лицензию на Access. Разработчики также могут встраивать VisData или его фрагменты в свои собственные программы.
Наступление новой эры
Visual Basic появился как инструмент, облегчающий разработку прикладных программ Windows для самого широкого круга лиц. С выпуском каждой новой версии VB становился все больше и сложнее. VB6 продолжает эту традицию: в нем имеются развитые средства работы с базами данных и Интернетом, указывающие на то, что он выходит на корпоративный уровень, - несомненно, это новая эра для некогда простого продукта.