Компиляция и распространение приложений

Компиляция и распространение приложений - student2.ru Компиляция проекта

Компиляция и распространение приложений - student2.ru Вкладка Make

Компиляция и распространение приложений - student2.ru Настройка параметров компиляции

Компиляция и распространение приложений - student2.ru Использование Package and Deployment Wizard

Компиляция и распространение приложений - student2.ru Распространение приложений

Ваша программа готова и снабжена великолепным справочным файлом — но работа только начинается. Распространение приложения среди пользователей относится к числу важнейших аспектов разработки программы. На первый взгляд это кажется сомнительным, но именно по программе установки большинство пользователей составляют первое впечатление о вашем приложении. Если установка пройдет нормально, это впечатление окажется благоприятным. Превосходно, но вдруг ваше приложение не захочет устанавливаться? Вы потратите массу времени, отвечая на телефонные звонки и скандальные сообщения электронной почты. В итоге все кончится утратой доверия и уважения со стороны клиентов. Да и кто станет пользоваться программой, которую даже не удается установить?

К счастью, в этом уроке рассказано все необходимое для успешной компиляции вашего приложения и создания установочной программы, которая подготовит приложение к работе. Пользователи будут довольны, а вместе с ними — и вы.

Компиляция проекта

До чего же приятно заканчивать работу над приложением! Сотни часов проектирования, программирования, тестирования и отладки остались позади. Похоже, все работает нормально. Прежде всего сохраните свою работу, но позаботьтесь о том, чтобы это была последняя версия программы. Теперь необходимо откомпилировать проект и превратить его в выполняемый файл (ЕХЕ), библиотеку динамической компоновки (DLL) или элемент ActiveX (OCX). Благодаря этому другие пользователи смогут пользоваться вашей программой, и при этом им не придется покупать и устанавливать на своем компьютере Visual Basic. В этом уроке мы научимся компилировать проекты на примере приложения Visual Basic Terminal.

Но даже на стадии компиляции работа еще не закончена. Вы должны создать программу, устанавливающую ваше приложение и сопутствующие файлы на компьютер пользователя. Для этого в Visual Basic предусмотрен специальный мастер -Package and Deployment Wizard. Эта удобная утилита создает полноценную программу установки на основании всего нескольких простейших вопросов. Существуют и другие утилиты (как коммерческие, так и условно бесплатные), которые создают хорошие программы инсталляции, но в нашем примере будет использован именно Package and Deployment Wizard.

Предположим, вы только что закончили работу над приложением и теперь собираетесь откомпилировать его и заняться тестированием. Откройте проект VB Terminal (файл Vbterm.vbp из каталога \Samples\CompTool\MsComm), затем действуйте так:

1. Откройте проект VB Terminal (файл Vbterm.vbp из каталога \MSDN\98VS\1033\ Samples\VB98\MsComm).

2. Выполните команду File > Make vbterm.exe в меню Visual Basic.

3. Когда откроется диалоговое окно Make Project, в поле File Name должна содержаться строка vbterm.exe. Нажмите кнопку Options.

На экране появляется упрощенный вариант диалогового окна свойств проекта. Он состоит всего из двух вкладок, Make и Compile, каждая из которых рассматривается в следующих разделах.

Вкладка Make

На вкладке Make содержатся различные параметры, влияющие на ход сборки программы. Вы можете изменять номер версии, лицензионную информацию и т. д. Вкладка Make делится на четыре группы: Version Number, Application, Version Information, — и два текстовых поля с именами Command Line Arguments и Conditional Compilation Arguments (рис. 14.1). В диалоговом окне VBTerm также присутствует вкладка Compile, на которой содержатся параметры для компиляции приложения в Р-код или в машинный код. Эти возможности рассматриваются далее, в разделе «Вкладка Compile».

Компиляция и распространение приложений - student2.ru

Рис. 14.1. Вкладка Make диалогового окна свойств проекта VВТет

Номер версии

Рамка Version Number содержит три поля и один флажок. В этом разделе мы научимся задавать номер версии приложения. Номер версии состоит из трех частей: основного (major) и вспомогательного (minor) номеров, а также номера ревизии (также называемого номером сборки). Нумерация версий приложения обычно начинается с 1.0.0, что соответствует самой первой сборке первой версии. Обратите внимание на то, что в поле Revision на рис. 14.1 содержится значение 8139. Вряд ли наше учебное приложение может иметь столько сборок, но, во всяком случае, ребята из Редмонда ввели именно такое значение. Установка флажка Auto Increment в нижней части рамки приводит к тому, что Visual Basic будет автоматически увеличивать номер ревизии приложения при каждой компиляции. Старайтесь включать в свои проекты номера версии и ревизии. Благодаря им вы и ваши пользователи сможете различать выполняемые файлы приложения и определять, к какой сборке они относятся. Номер версии выводится с остальными свойствами программы — для этого следует щелкнуть правой кнопкой мыши на файле приложения в Проводнике Windows, выбрать из контекстного меню команду Properties1 и перейти на вкладку Version в диалоговом окне Properties. Номера ревизий бывают особенно полезны, когда пользователи обращаются за технической поддержкой. Если вы раздали несколько версий вашего приложения, каждая из которых обладает своими ошибками, то по номеру ревизии всегда можно определить, получил ли пользователь исправленную версию. Помимо установки флажка Auto Increment я рекомендую вам сохранять информацию об изменениях в каждой сборке. Возможно, эти описания даже стоит занести в базу данных и отсортировать записи по номерам версий и ревизий. Это сильно облегчит вашу будущую работу по сопровождению продукта.

ПОДСКАЗКАСтарайтесь документировать изменения, вносимые в очередную версию программы. Эта информация окажется полезной при решении технических проблем или реализации новых возможностей.

Приложение

Рамка Application содержит два поля — Title и Icon. В поле Title содержится имя приложения, совпадающее с именем, под которым был сохранен проект. Список из поля Icon позволяет выбрать из проекта форму, значок которой будет представлять ваше приложение. Значок приложения обычно задается в главной форме, которая, как вы уже знаете, как правило, получает имя frmMain. В этом случае в поле Icon выбирается форма frmMain. При выборе нужной формы из списка справа от него появляется изображение значка.

Сведения о версии

В рамке Version Information находятся список Туре и текстовое поле Value. Эта рамка чрезвычайно удобна, поскольку в нее можно внести все юридические примечания и информацию о вашей компании. Сначала вы выбираете одну из строк списка Туре, а затем вводите текст в поле Value. Список Туре содержит строки для комментариев, названия организации, описания файла, авторских прав, товарного знака и названия продукта.

Выбрав из списка Туре строку Comments, можно ввести любые комментарии по поводу текущей версии, например сообщить, что текущая сборка является бета-версией. Сюда можно ввести любую информацию, не относящуюся к другим разделам. Если вы захотите указать организацию, которой принадлежат права на ваше приложение, выберите из списка Туре строку Company Name и введите описание в поле Value. Строка File Description служит для ввода любой информации, относя щейся к откомпилированному файлу.

1 Команда Свойства в локализованной версии. — Примем, перев.

Авторские права

Строка Legal Copyright, вероятно, определяет одно из самых важных свойств откомпилированного приложения. Позвольте мне сказать несколько слов на эту тему: когда вы создаете программу, произведение искусства и т. д., вы автоматически становитесь обладателем авторских прав на нее. Вы можете отказаться от них и явно указать, что ваша работа (в нашем случае — приложение) является общим достоянием (public domain). Если же вы хотите извлечь выгоду из своих авторских прав, зарегистрируйте свое приложение в Бюро по вопросам авторских прав в США. Данная тема выходит за рамки этой книги, но если вы намерены продавать свою программу, найдите книгу по авторским правам и товарным знакам. Включая в поле Legal Copyright информацию об авторских правах, вы сообщаете пользователям, кому принадлежит данный продукт. Чтобы информация об авторском праве имела юридическую силу, необходимо указать имя приложения, слово Copyright (именно в таком написании) и год выхода первой версии. Если вы хотите, чтобы ваши авторские привилегии сохранялись и за рубежом, необходимо также включить слова «All rights Reserved». Например, формулировка авторских прав может выглядеть так:

МуАрр Version 1.0.5 Copyright 1996 - Steve Brown

All rights Reserved

И все же не стоит полагаться на мои слова — найдите хорошую книгу по авторскому праву или даже проконсультируйтесь с юристом.

ПОДСКАЗКАОбязательно включайте в свои приложения сведения об авторских правах. Тем самым вы сообщаете пользователю, кому принадлежат юридические права на программу.

Если ваша программа содержит эмблему компании или другое изображение, которое представляет вас, ваши организацию или продукт, включите соответствующие ссылки в поле Legal Trademarks.

В поле Product Name указывается полное имя приложения. Например, строка VBTerm выглядит не слишком содержательно, поэтому в поле Value можно указать ее расшифровку — Visual Basic Terminal. Кроме того, полное имя помогает различить приложения с одинаковыми сокращенными именами. Допустим, у вас есть два выполняемых файла с именем Hello.exe: первый — приложение Hello World, написанное нами в самом начале книги, а второй — программа Hello, которая автоматически приветствует пользователя при запуске компьютера. Сами видите, как важно иногда знать полное имя приложения. При повторной компиляции приложения вам не придется вводить текст в этих полях. Visual Basic запоминает их содержимое и использует при всех последующих компиляциях. Вам остается лишь изменять эту информацию в случае необходимости.

Аргументы командной строки

Это поле содержит аргументы командной строки, по которым приложение выполняет особые функции. Например, в командных строках некоторых программ после имени программы указывается имя файла, автоматически загружаемого при запуске. Ввод текста в поле Command Line Arguments имитирует ввод имени программы с именем файла в диалоговом окне Run, вызываемом из меню Start2. Например:

МуАрр.Ехе C:\Files\MyDoc.DOC

Любые параметры, передаваемые приложению, можно получить с помощью зарезервированной переменной Command$. Все, что вводится в командной строке после имени программы, сохраняется в этой переменной. Для анализа введенных параметров используются функции InStr() и Mid$(). Например:

Private Sub Form_Load()

If Commands <> "" Then

If InStr(Command$, "/?") > 0 Then

ShowHelp

End If

End If

End Sub

Переменная Command$ является служебной переменной Visual Basic. Она используется только для получения параметров, передаваемых приложению при запуске. Вы можете получить их значения, обратившись к Commands в процедуре события Load стартовой формы приложения.

В приведенном выше примере мы сначала проверяем, передавались ли программе какие-либо параметры. Если не передавались, команда If..Then пропускается, а программа продолжает работать в обычном порядке. Если же параметры передавались, программа уточняет их содержание.

В приведенном выше примере проверяется только параметр /?, знакомый каждому, кто хоть раз пытался получить справку по командам DOS. С помощью нескольких операторов If...Then можно проверить любые другие параметры, воспринимаемые вашим приложением.

Функция InStг() ищет в заданной строке некоторую подстроку. Если поиск окажется успешным, функция InStr() возвращает номер первой позиции строки, в которой найдена подстрока. Следовательно, если приложению был передан параметр /?, функция InStr() возвратит положительное значение. Как видно из приведенного выше примера, в этом случае условие конструкции If...Then удовлетворяется и программа вызывает процедуру ShowHelp.

Параметр, введенный в поле Command Line Arguments, передается приложению при запуске. Благодаря этому вы сможете протестировать программу, не выполняя полного построения.

2 Пуск в локализованной версии Windows 95. — Примеч. перев.

Условная компиляция

Условная компиляция позволяет организовать выборочную компиляцию вашей программы. Обычно она применяется для компиляции одного приложения на нескольких платформах и для удаления отладочного кода из окончательной версии приложения. Следующий пример наглядно показывает, о чем идет речь:

Private Sub Form_Load() Dim platform As String

#lf WIN_NT Then

platform = "Windows NT"

#Else

platform = "Windows 95/98"

#End If

MsgBox platform

End Sub

Если вы захотите построить выполняемый файл для Windows NT, введите в поле Conditional Compilation Arguments строку

WIN_NT=1

Если же вам потребуется версия для Windows 95 или Windows 98, следует ввести строку

WIN_NT=0

Того же результата можно добиться с помощью включения в компилируемый модуль директив #Const. Например, соответствующая команда может выглядеть так:

#Const WIN_NT = 1

Возможно, вы заметили, что перед каждой командой указывается префикс — знак фунта (#). Он определяет начало так называемых директив препроцессора. Директивы препроцессора обрабатываются во время компиляции, а не во время выполнения программы. Visual Basic поддерживает директивы #Const и директивы условной компиляции #If...#Then...#Else...#End If. Директива #Const определяет препроцессорную константу, а директива #If ...#Then...#Else...#End If проверяет значение этой константы.

Вкладка Compile

На вкладке Compile находятся параметры, относящиеся к процессу компиляции приложения (рис. 14.2). Вы можете откомпилировать его и преобразовать либо в так называемый Р-код, либо непосредственно в машинный код.

Компиляция и распространение приложений - student2.ru

Рис. 14.2. Вкладка Compile диалогового окна свойств проекта

Наши рекомендации