На этом шаге мы рассмотрим запуск и отображение окна приложения.
Функция, реализующая механизм доступа к OLE-объекту, находится в библиотеке ComObj.pas - функция CreateOleObject. Ее единственным аргументом является строка-идентификатор, а возвращает она ссылку на объект.
Рассмотрим пример использования этой функции.
Создадим новый проект Delphi, в котором есть одна форма. В модуле формы укажем ссылку на использование библиотеки ComObj и объявим переменную W: Variant. В форме расположим кнопку. В процедуре обработки нажатия кнопки напишем следующий программный текст.
procedure TForm1.Button1Click(Sender: TObject); begin W:=CreateOleObject('Word.Application'); end;
Если выполнить этот фрагмент программы, то приложение Word запустится, но его окно не отобразится на экране монитора. В память компьютера будет загружен объект Application, обеспечивающий доступ ко всем внутренним объектам, коллекциям и свойствам. В данный момент нас интересует только одно свойство этого объекта - Visible. Если его значение установить в True, то окно приложения Word станет видимым. Расположим в нашей форме компонент CheckBox1, в процедуре отклика которого напишем следующий программный текст:
procedure TForm1.CheckBox1Click(Sender: TObject); begin W.Visible:=CheckBox1.Checked; end;
Манипулируя состоянием объекта CheckBox1, мы обнаружим, что окно приложения то появляется, то пропадает с экрана монитора. Приложение загружено в память, без каких-либо открытых документов (рисунок 1).
Рис.1. Отображенное окно запущенного приложения Word
При формировании документов свойство Visible лучше установить в значение False, и устанавливать его в значение True только для отображения полностью созданных документов. Так можно сократить время создания отчетов и повысить производительность работы приложений. Отлаживая приложение или изучая свойства объекта Application, лучше видеть все действия на мониторе. Поэтому установим Visible := True и приступим к работе с документами Word.
Текст созданного приложения можно взять здесь (4,9 Кб).
На следующем шаге мы рассмотрим создание документа.