Visual Basic 6. Руководство разработчика


Установка свойств проекта


А теперь немного прервемся, чтобы обсудить диалоговое окно Project Properties (Свойства проекта). Большая часть полей в этом окно очевидны, но не все. Кроме того, некоторые, казалось бы, очевидные опции, имеют разветвления, о которых следует знать. При желании, этот раздел можно пропустить и вернуться к нему, когда потребуется дополнительная информация. Диалоговое окно Project Properties, показанное на рис. 155, позволяет выбрать тип проекта и установить различные опции. Вкладки окна объяснены ниже.

Рис. 15.5. Вкладка General окна Project Properties

Вкладка General

Project Type (Тип проекта).

Этот список содержит те же типы проектов, что и в диалоговом окне File Open (Открыть файл). В этом списке доступны следующие типы проектов Standard EXE, ActiveX DLL, ActiveX EXE и ActiveX control (элемент управления ActiveX). Изменение типа проекта всякий раз, когда вам это кажется необходимым, не всегда возможно или просто. Переключение между ActiveX DLL и Standard EXE проектами допустимо и легко осуществимо. Пусть нужно создать компонент ActiveX DLL. Для упрощения процесса тестирования и отладки можно запустить Standard EXE проект и добавить модуль класса. Когда этот модуль работает в контексте текущего проекта, можно удалить формы из проекта и изменить тип проекта со Standard EXE на ActiveX DLL.

После создания и регистрации (как описано в разделе "Регистрация компонентов ActiveX" этой главы) можно использовать этот класс в любом проекте.

•  Startup Object (Стартовый объект). Это поле позволит определить, что проис­ходит при запуске проекта. Проекты ActiveX DLL и ActiveX EXE нельзя выполнять. Компонент ActiveX должен вызываться из кода проекта Standard EXE. Для проекта Standard EXE стартовым объектом может быть форма или подпрограмма Main. Подпрограмма Main должна располагаться в стандартном модуле проекта и создавать первую видимую форму приложения. Программные компоненты не могут иметь в качестве стартового объекта форму. Стартовым объектом компонентов ActiveX EXE или ActiveX DLL должна быть либо под­программа Main, либо None. Если изменять тип проекта во время его реализации, то нужно также изменить стартовый объект.


Для групп проектов можно устанавливать различные стартовые объекты для каждого проекта в группе. Для определения стартового проекта щелкните правой кнопкой на названии проекта в окне проекта и выберите команду Set as Start-up.

• Project Name (Имя Проекта). Это свойство является именем компонента и отображается в броузере объектов (Object Browser). Очень важно задать содер­жательное имя проекта, иначе придется искать различия среди различных компонентов с одинаковым названием Project 1 на диске. Если компонент имеет имя MyComponent и определяет класс, который называется MyClass, то нужно создать объектную переменную для ссылки на этот класс внутри другого приложения с помощью оператора:

Set Object1 = CreateObjectC("MyObject.MyClass")

Изменение имени проекта (или, например, имени класса) после его реализации требует и пересмотра исходного кода программы. Используйте содержательные имена проектов и избегайте таких имен, как Test, Example или Server. Компо­ненты ActiveX регистрируются в системе - это не просто файлы, лежащие в папке.

• Help File Name (Имя файла подсказки), Project Help Context ID (Идентификатор подсказки). Эти два поля позволяют задать файл справки проекта и идентифи­катор подсказки. Хотя файлы подсказки не обсуждаются в этой книге, любой компонент, который реализуется (в особенности, компонент ActiveX), должен иметь такой файл.

• Project Description (Описание проекта). Это описание проекта и оно появляется в броузере объектов, когда пользователь выбирает компонент.

• Upgrade ActiveX Controls (Обновление элементов управления ActiveX). Установите эту опцию, чтобы Visual Basic автоматически заменял элементы управления ActiveX их новыми версиями, если желаете обновить один или несколько элементов управления, используемых в проекте.

• Require License Key (Требуется номер лицензии). Это поле позволит защитить компоненты с помощью лицензии. Компоненты ActiveX, созданные с помощью действий, описанных в этой главе, будут работать в любой системе, где они инсталлированы. Предположим, разработана новая ActiveX DLL, которая используется в ваших приложениях. Конечные пользователи должны иметь возможность использовать эти компоненты только во время выполнения соот­ветствующих приложений. Это достигается применением лицензий. Когда вы выйдете на этот уровень разработки компонентов, следует обратиться к доку­ментации, чтобы узнать, как создавать лицензии на компоненты.



•  Unattended Execution (Фоновое выполнение). Опции в этой секции относятся к многопотоковым ЕХЕ-серверам и не будут обсуждаться в этой книге. Эта опция указывает Visual Basic пропускать все окна сообщений и других форм ввода или вывода, чтобы компонент выполнялся без привлечения внимания пользо­вателя. Если вызван компонент ActiveX EXE, который выполняется на сервере, он не должен выдавать сообщения (которые, возможно, были вставлены в целях отладки) на сервер, а потом ждать реакции пользователя.

Вкладка Component

• Start Mode (Режим запуска). В этой секции можно определить, будет ли ActiveX ЕХЕ-сервер выполняться как отдельное приложение или как компонент ActiveX. Эта опция применима только к компонентам ActiveX EXE, а по умолчанию выбран компонент ActiveX.



•  Remote Server (Удаленный сервер). Если установлена эта опция. Visual Basic создает файлы с расширением .vbr и с именем, как у dll-файла. Этот vbr-файл содержит информацию, которая требуется системному реестру Windows для выполнения ActiveX-сервера на удаленном компьютере.

• Version Compatibility (Совместимость версий). Опции в этой секции позволяют установить уровень совместимости версии, которая может быть следующей

• No Compatibility (He требуется). Если эта опция выбрана, совместимость не требуется

• Project Compatibility (На уровне проекта). Если опция выбрана, то активи­зируется окно Location (место расположения), что позволит искать файл, совместимый с проектом Если опция не выбрана, то окно Location недоступно. При разработке элементов управления ActiveX или программ­ных компонентов, используемых с определенным проектом, щелкните на этой опции и выберите имя проекта в последнем поле вкладки По умол­чанию эта опция отмечена для всех ActiveX-проектов, так что каждый раз при изменении элемента управления или кода компонента проект также будет обновляться.

• Binary Compatibility (На уровне кода). Эта опция должна быть выбрана для поддержки совместимости среди проектов, откомпилированных с исполь­зованием вашего компонента.


Содержание раздела