Вызов методов объекта Application и его дочерних объектов может приво-
дить к ошибкам в процессе работы программы. Эти ошибки нужно обраба-
тывать, иначе они приведут к "зависанию" приложения или всей системы.
К тому же обработка ошибок — средство получения информации для ана-
лиза функционирования приложения. Как обычно, для обработки исключи-
тельной ситуации используем синтаксис try ...except ... end. Таким образом,
каждое обращение к методам и объектам Application придется обрамлять
синтаксисом обработки ошибок. Это, в конечном итоге, приведет к увели-
чению исходного текста программы и сопутствующим проблемам. Решени-
ем этих проблем может быть создание и использование пользовательской
библиотеки процедур и функций с обработкой ошибок выполнения. Для
начала можно создать библиотеку в виде модуля unit, а затем — в виде ди-
намической библиотеки. Рассмотрим синтаксис библиотеки и процедур и
функций для работы с Word.Application.
Синтаксис библиотеки процедур и функций для работы с Word.Application
unit MyWord;
interface
// Заголовки процедур и функций
Function CreateWord:boolean;
Function VisibleWord(visible:boolean):boolean;
Implementation
// Используемые библиотеки
uses ComObj;
// W — переменная, которая является ссылкой на объект Application
var W:variant;
// Функция CreateWord создает объект Word.Application и помещает ссылку
//на него в переменную W:variant. Если объект создан без ошибок, то
// исключительная ситуация не возникает и функция возвращает True. Если
// возникает ошибка, например если приложение Word не установлено
// в системе, то вызывается исключительная ситуация и функция возвращает
// значение False.
Function CreateWord:boolean;
begin
CreateWord:=true;
try
W:=CreateOleObject('Word.Application');
except
CreateWord:=false;
end;
End;
// Функция VisibleWord показывает/скрывает окно приложения Word.
// Она основана на свойстве Visible объекта Application.
II В результате ошибки возникает исключительная ситуация
// и функция возвращает значение False.
Function VisibleWord(visible:boolean):boolean;
begin
VisibleWord:=true;
try
W.visible:= visible;
except
VisibleWord:=false;
end;
End;
End.
Полный текст библиотеки процедур и функций с описанием приведен
в Приложении 1.
Далее в книге все исходные тексты примеров приложений приводятся
с использованием этой библиотеки.
|