Создание и отображение OLE-документов в формах стр.1. Ole объекты Автокад


В Access 2010 имеется возможность добавлять объекты в поле с типом данных OLE . В том случае, когда тип данных задан, как OLE (Object Linking and Embedding – связывание и внедрение объекта), тогда СУБД Access сохраняет внешний объект в общем файле базы данных, отводя на его хранение столько места, сколько этот объект занимает в виде отдельного файла. Под объектами следует понимать файлы, созданные в виде приложений в графических редакторах, видеоклипов, в приложениях MS Office и т.д. При заполнении таблицы данными, которые являются объектами, в соответствующей позиции поля с типом данных OLE формируется сообщение о программе, с помощью которой можно открыть этот объект. Отображение объекта будет осуществляться только в формах и отчетах.

Для встраивания объекта в поле с типом данных OLE необходимо открыть таблицу в режиме «Конструктор». Добавить новое поле, например «Фото товара». Выбрать тип данных «Поле объекта OLE» , после чего сохранить таблицу.

Затем в режиме «Таблица» в строке для ввода данных щелкнуть правой клавишей мыши, в открывшемся меню следует выбрать строку с командой , что приведет к открытию диалогового окна (рис. 3.38, рис. 3.39).

Рис. 3.38 Вставка объекта

Рис. 3.39 Диалоговое окно для добавления нового объекта в таблицу Access

Следует помнить, что имеется две возможности встраивать объекты в виде данных. Первая возможность предусматривает использование типовых приложений для создания файла, которые поддерживает Access, вторая возможность вставки объекта , что позволяет использовать любой файл в качестве источника данных (рис. 3.40).

Рис. 3.40 Добавления нового объекта в таблицу Access из файла

1. Создание объекта из файла.

Когда речь заходит о данных, которые являются объектами для базы данных, и являются внешними файлами, то требуется иметь эти файлы. Поэтому, потребуется создать несколько файлов, чтобы в дальнейшем увидеть их отображение в базе данных, а также попробовать провести изменение этих файлов. Например, если вы имеете фотографию объекта в файле Монитор.jpg (jpg - универсальный фото формат). Для того чтобы этот файл сохранился в базе данных, следует в окне (рис. 3.40) поставить отметку «Создать из файла» , после чего появится окно, которое представлено на рисунке 3.41. С помощью кнопки «Обзор» следует выбрать необходимый файл.

Рис. 3.41 Поиск файла при создании объекта в базе данных

В соответствующей строке для поля например, «Фото товара» появится слово «Пакет» (Package) , это означает, что файл привязан к приложению, с помощью которого он был создан. Поэтому, при просмотре базы данных, будет ли это запрос, форма или отчет, пользователь увидит изображение файла в виде значка , а при двойном щелчке по этому изображению система сначала найдет приложение, а затем в нем отобразит содержимое файла (в данном примере это фотография). Исключением являются файлы с изображениями, сохраненные с расширением .bmp (bit map format). Вместе с тем, следует напомнить, что файлы, созданные в приложениях Microsoft, будут отображаться сразу в формах и отчетах. Вывод простой, фотографии можно вставлять в такие приложения как Paint, Word, Power Point, сохранять в виде отдельных файлов, а затем подключать в виде объекта к базе данных. Попробуйте создать несколько файлов с фотографиями и текстом, используя различные редакторы Windows. Например, можно открыть документ Word, вставить из файла фотографию, добавить текст, а затем сохранить как: Монитор.docx (рис. 3.42).

Рис. 3.42 Файл с фотографией, созданный в Word

2. Создание новых объектов.

Под созданием новых объектов в базе данных следует подразумевать использование приложения, в котором создается файл, а затем подключается в поле с описанием типа данного OLE. Для запуска режима создания новых объектов, необходимо открыть таблицу в режиме «Таблица» , выбрать вариант «Создать новый» в диалоговом окне (рис. 3.39), а затем в списке выделить «Тип объекта» (необходимое приложение). Перечень приложений, которые поддерживает Access для создания объекта, находятся в списке (рис. 3.43), который раскроется после запуска команды «Вставить объект» .

Рис. 3.43 Перечень типов объектов Access, которые можно использовать для создания файлов

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

Рассмотрим вариант создания объектов для базы данных, с помощью с приложения paint.

Например, необходимо создать объект с изображением предприятия и текстом, который в дальнейшем пользователь базы данных сможет заменить или исправить. Для этого необходимо выбрать из списка объект Bitmap Image , дальнейшая технология создания объекта показана на рисунке 3.44.

1. Откройте приложение Paint

2. Вставьте фото из файла.

3. Добавьте текст (если это необходимо).

4. Сохраните, как файл.

5. Закройте приложение.

Рис. 3.44 Технология создания объекта в приложении Paint

Задание3.11

1. В таблице «Товары » в режиме «Конструктор» добавьте новый столбец с именем «Фото товара» , тип данных «Поле объекта OLE» , сохраните изменения.

2. В режиме «Таблица» в поле «Фото товара» выберете строку «Вставить объект из файла» , выберите (поставьте точку) «Создать новый» и из раскрывающегося списка укажите документ Microsoft Word . При этом откроется текстовый редактор MS Word , здесь необходимо вставить рисунок, соответствующий товару в данной строке. Рисунки выберите из списка, который хранится непосредственно в редакторе (вкладка «Вставка», значок «Картинка», в диалоговом окне справа кнопка «Начать»), или вставьте рисунок из других программ. Можете использовать приложение Paint (объект Bitmap Image), где нарисуйте товар самостоятельно. Созданный файл закройте, он автоматически будет привязан к вашей базе, к строке, в которую ее вставили.

3. Проделайте данную процедуру для всех строк вашей таблицы «Товары» .

4. Сохраните изменения.

Контрольные вопросы

1. Какие объекты можно вставить в базу данных с типом данных OLE?

2. Как можно вставить фото в таблицу в режиме «Таблица»?

3. Где в базе данных будет отображаться фотография?

4. Чем отличается способ «Создать новый объект» от способа «Создать из файла»?

5. Как поместить файл фотографии товара в базу данных, если он имеет расширение .png ?

6. Можно ли осуществлять правку файла, который вставлен как объект в базу данных непосредственно в файловой системе компьютера?

7. Как вставить презентацию в базу данных?

8. Объекты каких приложений можно вставить в базу данных?

Технология ole позволяет импортировать объекты из других приложений с сохранением связей. Причем если вставить изображение из такого приложения как Word или график из Excel, то оно будет сохраняться в файле как внедренный объект, т.е. при передаче чертежа вам не нужно его архивировать с чертежом, как это необходимо делать при использовании внешних ссылок в Автокаде .

На вкладке «Вставка» расположена команда «Ole-объект» AutoCAD.

После активации команды появляется диалоговое окно “Вставка объекта».

Здесь можно создать новый файл. В этом случае вам следует указать приложение (Photoshop, Microsoft Excel, Word, Power Point и т.д.), в котором вы будете работать, и, впоследствии, поместить ваш объект в Автокад или же сразу работать на основе существующего файла. На практике намного чащи используется именно второй вариант. Рассмотрим его более подробно.

В диалоговом окне «Вставка объекта» установите галочку «Создать из файла», после чего нажмите кнопку «Обзор», чтобы выбрать подходящий файл. После проделанных действий прописывается путь к вашему документу.

Существует два варианта вставки:

1) Независимая – после вставки объекта он «стационарно» хранится в Автокаде. И при изменении исходного файла в вашем чертеже никакие изменения не происходят.

2) Связывание файлов – в этом случае их местоположение на компьютере должно оставаться неизменным. При изменении пути связь будет теряться. Поэтому эти файлы оптимальние всего хранить в одной папке. Чтобы связать файлы AutoCAD установите галочку «Связь» в диалоговом окне «Вставка объектов» (рис. 3).

Рис. 3 – Работа с ole-объектом Автокад на основе существующего файла.

После нажатия ОК ваш оле-объект вставляется в рабочее пространство AutoCAD. Теперь с ним можно работать как с обычными примитивами Автокада, например, применять команды редактирования.

Рис. 4 – Ole-объект Автокад в виде картинки из Word.

Если дважды ЛКМ щелкнуть по такому ole-объекту, то откроется приложение, в котором изначально он был создан (или хранился). В данном примере вставлялась обычная картинка из Word.

Рис. 5 – Наличие обратной связи позволяет открыть исходное приложение (в данном случае Word).

Внедрение Ole в Автокад через буфер обмена.

Ole AutoCAD: секреты и хитрости.

В этом курсе на практических примерах рассмотрена работа с Ole-объектами Авткоад. В видео-формате рассказано про:

Настройки качества вывода ole-объектов на печать;

Как убрать рамку которая по умолчанию обрамляет эти объекты;

Системные переменные при работе с оле Автокад;

Обратный процесс вставки ole-объектов из Автокада в сторонние приложения.

Что же, как видите, оле-объекты в Автокаде - технология очень полезная! А самое главное, использование этого принципа позволяет ответить на вопрос: "Как вставить картинку в Автокад не ссылкой?" Теперь вы можете смело внедрять логотип своей фирмы на чертежи или подложки к проектам и при этом не бояться, что у других пользователей эти графические объеты не будут отображаться.

Компонент TOleContainer позволяет поместить OLE-документ на поверхность формы. Наиболее часто используемыми свойствами этого компонента являются AutoActivate, определяющее, каким образом активизируется OLE-докумеит, State, определяющее состояние OLE-контейнера, и OleClassName, определяющее имя класса (CLSID) OLE-объекта, содержащегося в контейнере. Наиболее часто используются следующие методы этого компонента:

Ш InsertObjectDialog - выводит стандартное диалоговое окно Object для выбора типа документа или загрузки его из файла; ш CreateObject - создает OLE-объект; Я CreateObjectFromFile - создает OLE-объект на основе существующего файла, содержащего OLE-документ, и помещает его в OLE-контейнер;

В DestroyObject - уничтожает объект, содержащийся в OLE-контейнере.

Создадим простейшее приложение, иллюстрирующее использование компонента TOleContainer. С этой целью поместим на форму компонент TPanel со свойством Align, равным alClient, на него - компонент TOleContainer и главное меню (можно создать в нем пункты New object и Exit). Панель и меню нужны для отображения панелей инструментов и меню OLE-серверов, обслуживающих отображаемые в компоненте TOleContainer объекты. Если на форме, содержащей компонент TOleContainer, имеется меню, то меню сервера будет присоединено к меню приложения согласно правилам слияния меню, принятым в Windows. Если компонент TOleContainer помещен на компонент TPanel, последний будет отображать панель инструментов сервера (рис. 5.1).

Рис. 5.1. Форма с компонентом TOleContainer

Создадим обработчик события, связанный с выбором пункта меню New Object:

Procedure TForml.NewlClick(Sender: TObject); begin 01eContai nerl.InsertObjectDi alog: end:

Запустив приложение и щелкнув на кнопке, получим диалоговое окно Insert Object (рис. 5.2).


Рис. 5.2. Диалоговое окно вставки объекта

В списке, представленном в этом диалоговом окне, перечислены все серверы ОЕЕ-документов, зарегистрированные на данном компьютере. Можно выбрать один из них (например, Microsoft Excel Worksheet). Теперь после двойного щелчка на компоненте TOleContainer компонент TPanel будет содержать панель инструментов Microsoft Excel и їлавное меню этого приложения, а сам OLE-контейнер - новую рабочую книгу Excel (рис. 5.3).


Рис. 5.3. Активный объект в OLE-контейнере

Если тип объекта, отображаемого в OLE-контейнере, известен заранее, можно использовать метод CreateObject компонента TOleContainer:

Procedure TForml.NewExcelworksheetlClick(Sender: TObject). begin 01eContainerl.CreateObjectC"Excel.Sheet". False): end;

Второй параметр этого метода указывает, отображать ли в виде значка объект внутри OLE-контейнера.

ВНИМАНИЕ -

Хотя что в диалоговом окне Insert Object содержатся только имена серверов OLE-документов, отображать в подобных компонентах можно в принципе любые СОМ-серве-ры, обладающие пользовательским интерфейсом, в частности многие из элементов управления ActiveX. В случае если необходимо отобразить в OLE-коптейпсре пользовательский интерфейс СОМ-сервера, не являющегося сервером OLE-докумсп-тов, следует указать его идентификатор CLSID в качестве первого параметра метода CreateObject

Модифицируем приложение, добавив еще несколько пунктов меню (рис. 5.4). Создадим соответствующие обработчики событий:

Procedure TForml.ShowPropertieslClickCSender: TObject); begin if 01 eCOntainerl.01eObjectInterface <> nil then 01eContai nerl.ObjectProperti esDi alog else ShowMessage ("OleContainer is empty"); end; procedure TForml.PastespeciallClick(Sender: TObject). begin 01eContai nerl.PasteSpeci alDialog: end

Рис. 5.4. Меню приложения, использующего компонент TOIeContainer

Скомпилируем приложение и на этапе выполнения добавим какой-нибудь объект в OLE-контейнер. Выбрав команду Action Show Properties нашего приложения, получим стандартное диалоговое окно с описанием свойств OLE-объекта (рис. 5.5).


Рис. 5.5. Диалоговое окно с описанием свойств объекта

Поместив какие-либо данные в буфер обмена, выберем команду Action PasteSpecial нашего приложения и получим диалоговое окно специальной вставки объекта из буфера обмена Paste Special (рис. 5.6).


Рис. 5.6. Диалоговое окно специальной вставки

Выбрав тин вставляемого объекта в предложенном списке, мы можем поместить его в ОЬЕ-контейпер (рис. 5.7).


Рис. 5.7. Результат вставки объекта из буфера обмена

OLE-технология

OLE – технология(Object Linking and Embedding – объектное связывание и встраивание) позволяет создавать сложные составные документы, в которых содержатся разнотипные объекты, созданные различными приложениями. Так в текстовый документ редактора Word можно вставить таблицу Excel, диаграмму, поясняющую текст, или математическую формулу, для пользователя это останется единым документом. Приложение, отвечающее за составной документ, принято называть контейнером. Оно имеет сложную структуру, так как умеет работать с “чужими” объектами. Приложение, создавшее объект, называется сервером.

Контейнеры и серверы могут поддерживать два режима взаимодействия:

    встраивание (внедрение) объектов. Этот режим означает, что данные объекта будут храниться вместе с основным документом (например, внедренная таблица Excel будет сохранена в.doc – файле редактора Word).

    связывание объектов. В составном документе хранится только ссылка на объект, данные которого находятся в другом документе.

При внедрении увеличивается объем хранимых документов, однако, их легче перемещать, тогда как при связывании, необходимо помнить, что изменение места расположения файлов может привести к ошибочным ссылкам.

Для редактирования связанных данных открывается отдельное окно, того приложения, в котором эти данные были созданы, т.е. сервера. При внедрении объектов можно также запустить сервер в отдельном окне, но можно и редактировать данные «на месте» («in Place»), т.е. в окне контейнера, если он это позволяет. В этом случае контейнер обязан иметь меню, а загрузившийся «in Place»сервер дополнит его своими командами.

Компонент OLEContainer

На странице System палитры компонент в Borland Builder С++ есть специальный компонент, предназначенный для внедрения и связывания объектов из других приложений - OLEContainer .

Основные свойства

Свойство State позволяет определить состояние объекта и его сервера. Его значения:

    osEmpty–контейнер не содержит объекта;

    osLoaded– объект в контейнере, сервер не выполняется;

    osRunning– сервер запущен;

    osOpen– OLE –объект открыт в отдельном окне сервера;

    osInPlaceActive– объект активизирован «на месте», но меню еще не изменено. Это промежуточное состояние объекта перед полной загрузкой сервера.

    osUIActiveобъект активизирован «на месте», меню изменено.

Следующий код позволяет определить имя объекта, загруженного в контейнер (свойство AnsiString OleClassName ), способ работы с объектом (Linked = true– связывание, иначе – внедрение), а также получить имя связанного документа:

if (OleContainer1 -> State != osEmpty)

Label2 -> Caption = OleContainer1 -> OleClassName;

// Состояние контейнера – целое число, начиная с 0 (osEmpty)

Label6 -> Caption = OleContainer1 -> State;

if (OleContainer1 -> Linked)

Label4 -> Caption = OleContainer1 -> SourceDoc;

Свойство bool AllowInPlace определяет возможность редактировать внедренный объект «на месте». ЕслиAllowInPlace = trueиIconic = false(свойствоIconicопределяет должен ли объект быть представлен в виде пиктограммы), то «InPlace» – редактирование разрешено. ПриAllowInPlace = falseсервер будет открываться в отдельном окне.

Свойство AutoActivate имеет три возможных значения:aaManual,aaGetFocus,aaDoubleClickи определяет способы активизации загруженного в контейнер объекта.

По умолчанию AutoActivate = aaDoubleClick , то есть объект становится активным при двойном щелчке. ЗначениеaaGetFocus определяет активизацию при получении фокуса ввода. ПриAutoActivate = aaManual за активизацию объекта отвечает программист. В этом случае можно использовать метод компонента-контейнераDoVerb, который отвечает за передачу команд от контейнера серверу. Например, можно воспользоваться следующим оператором:

OleContainer1->DoVerb (ovShow); // Показать объект

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

Создание и сохранение нового объекта (внедрение)

Создание нового объекта можно обеспечить использованием специального диалогового окна Insert Object (вставка объекта) или вызовом методаCreateObject . В первом случае класс объекта выбирает пользователь из системного списка возможных объектов, а во втором программно создается конкретный объект.

Для использования диалогового окна можно воспользоваться следующим кодом, расположенным, например, в команде меню «новый»:

AnsiString File_Name; // переменная объявлена глобально или в классе формы

if (OleContainer1->InsertObjectDialog())

{ File_Name = "";

OleContainer1->DoVerb(ovShow);

В появившемся диалоговом окне необходимо установить значение RadioButton- кнопки «Создать новый», в списке выбрать необходимый тип объекта и щелкнуть «OK».

Программно объект можно создать так (операторы можно вставить, например, в соответствующие пункты меню):

    таблица Excel

OleContainer1->CreateObject("Excel.sheet",false);

    документ Word

OleContainer1->CreateObject("Word.Document",false);

Если создать нужно объект, имя типа которого неизвестно, то нужно обратиться либо к соответствующей документации по серверу, либо написать тестовую программу с загрузкой объекта методом OleContainer->InsertObjectDialog() и воспользоваться свойствомOleContainer -> OleClassNameдля определения его имени.

При создании нового объекта используется внедрение (так как для связывания необходим файл). В этом случае за хранение данных объекта отвечает программа - контейнер. Сохранить данные в файле можно с помощью метода SaveToFile (<имя файла>), например, в пункте меню «Файл - Сохранить…» можно использовать следующий код:

void __fastcall TForm1::FSaveClick(TObject *Sender)

{ if (File_Name=="")

if (SaveDialog1->Execute())

File_Name = SaveDialog1->FileName;

OleContainer1->SaveToFile(ChangeFileExt(File_Name,".ole"));

В данном примере расширение файла.ole указывает на то, что объект будет сохранен в специальном формате отличном от формата сервера. Приложение - сервер отдельно от контейнера прочесть эти данные не сможет.

Функция ChangeFileExt была использована в примере для замены расширения файла. При выполнении команд сохранения и извлечения данных из файла могут понадобиться и другие функции обработки имен файлов:

    ChangeFileExt (const AnsiString FileName, const AnsiString Extension)– принудительно изменяет имя файла FileName, заменяя расширение на Extension;

    функция AnsiString ExtractFileExt (AnsiString FileName) возвращает расширение файла и, следовательно, позволяет проверить его тип;

    AnsiString ExtractFileName (AnsiString FileName)возвращает имя файла, извлеченное из строкиFileName, т.е. после последнего обратного слэша или двоеточия;

    AnsiString ExtractFilePath (AnsiString FileName)извлекает путь к файлу, включая последний слэш или двоеточие;

    AnsiString ExtractFileDrive (AnsiString FileName) извлекает диск файла с двоеточием (например, «D:»).

Метод контейнера LoadFromFile (<имя файла>)позволяет загрузить запомненный объект в контейнер:

void __fastcall TForm1::FOpenClick(TObject *Sender)

if (OpenDialog1->Execute())

if (ExtractFileExt(OpenDialog1->FileName)!= ".ole")

File_Name = OpenDialog1->FileName;

OleContainer1->LoadFromFile(File_Name);

OleContainer1->DoVerb(ovShow);

Создание объекта из файла (внедрение)

Для создания объекта из имеющегося файла можно воспользоваться тем же окном Insert Object , как и в случае создания нового объекта. В случае внедрения пользователь устанавливает значение RadioButton-кнопки «Создать из файла», а для поиска файла щелкает на кнопке «Обзор…».

Программный способ создания объекта из файла обеспечивается методом: OleContainer-> CreateObjectFromFile (AnsiString<имя файла>,boolIconic).

Параметры методы определяют имя исходного файла и режим отображения объекта (Iconic=true– объект в виде пиктограммы). Вот такой код можно вставить в соответствующий пункт меню:

void __fastcall TForm1::FFileClick(TObject *Sender)

if (OpenDialog1->Execute())

OleContainer1->CreateObjectFromFile(OpenDialog1->FileName,false);

OleContainer1->Repaint();

Метод OleContainer->Repaint() приводит к перерисовке окна контейнера и, следовательно, появлению данных объекта на экране.

Создание связанного объекта

Так же как и при внедрении создать связанный объект может или пользователь или программист.

Пользователю в окне Insert Object следует выполнить действия по выбору файла, перечисленные выше, и дополнительно установить флажок «Связь».

Программист должен воспользоваться методом: OleContainer->CreateLinkToFile (AnsiString <имя файла>, bool Iconic).

Поскольку при связывании редактировать объект можно только в отдельном окне, то для сохранения объекта пользователь может обратиться к меню сервера.

Работа с сервером

Поскольку работать с данными объекта может только программа создавшая объект (сервер), то контейнеру могут потребоваться знания о возможных действиях над объектом. Метод DoVerb (int Verb)требует выполнения одной из команд, а весь список возможных действий содержит свойствоObjectVerbs компонента контейнера. Получить этот список можно только после загрузки объекта в контейнер, и, естественно, что каждый сервер (а, следовательно, и объект) имеет свой список команд.

Константа ovShow– это пример зарезервированной OLE – команды. Использование методаDoVerbс параметромovShow, которое было уже рассмотрено в одном из предыдущих разделов, приводит к немедленному открытию сервера.

Следующий код проявляет список возможных команд объекта в компоненте ListBox(команды нумеруются с нуля) и просит выполнить вторую команду в списке:

ListBox1->Items = OleContainer1->ObjectVerbs;

OleContainer1->DoVerb(1);

Кроме этого контейнер может попросить сервер сохранить данные объекта в виде документа в формате сервера. Для этого используется метод SaveAsDocument (<имя файла>). Этот документ в дальнейшем может обрабатываться приложением сервером без участия контейнера. Интересно, что этот метод можно использовать как для связанных так и для внедренных объектов.

При завершении работы с объектом программа может освободить OleContainer, вызвав метод OleContainer->DestroyObject() - разрушить загруженный объект. Этот метод можно вызывать перед загрузкой нового объекта или в команде меню «Файл-Выход».

1. Создать новое приложение. На главной форме расположены следующие компоненты:

  • Несколько элементов Label

И два невизуальных компонента:

Примерный вид главного окна приложения представлен на рисунке. В OleContainerзагружен рисунок (файл с расширением.bmp). Состояние сервера:osRunning.

2. Добавить на форму компонент, в котором будет отображаться информация об объекте: «не загружен» / «внедрение» / «связывание».

3. Меню должно содержать следующие команды:

    «Объект» (InsertDialog, новый объект Excel, новый объект Paint, внедренный из файла, внедренный из «имя презентации PowerPoint», связанный из файла, связанный из «имя документа Word», Выполнить команду);

    «Свойства» (Свойства объекта, Команды сервера);

    «Справка» (О программе).

Предусмотреть, чтобы пункты меню были доступны только в тот момент, когда соответствующие им действия могут быть выполнены. Например, пункт «Объект»| «Выполнить команду» может быть доступен только, если объект загружен в OleContainer, а в список ListBox помещен список доступных команд сервера.

4. Для всех команд меню создать соответствующие обработчики событий.

    «Файл» | «Загрузить объект» - сохраненный объект загружается из ole – файла.

    «Файл» | «Разорвать связь» - разрыв связи с объектом;

    «Файл» | «Выход» - корректный выход из программы (если была связь с объектом разорвать ее);

    «Объект» | InsertDialog – объект и его способ загрузки в контейнер выбирается в диалоговом окне пользователем;

    «Объект» | «Объект Excel» – создается новый объект;

    «Объект» | «Объект Paint» – создается новый объект;

    «Объект» | «Внедренный из файла» – имя файла определяется пользователем в диалоговом окне OpenDialog;

    «Объект» | «Внедренный из «имя презентации PowerPoint» - в контейнер вставляется предварительно созданная презентация слайдов;

    «Объект» | «Связанный из файла» » – имя файла определяется пользователем в диалоговом окне OpenDialog;

    «Объект» | «Связанный из «имя документа Word» - в контейнер вставляется предварительно созданный документ;

    «Объект» | «Выполнить команду» - серверу для выполнения передается команда, выбранная пользователем в списке ListBox$

    «Свойства» | «Свойства объекта» - контейнер запрашивает у сервера имя объекта, состояние сервера и имя связанного документа, на основании полученной информации делается вывод: «объект – не загружен / внедрен / связан». Полученная информация выводится в компоненты Label главного окна приложения.

    «Свойства» | «Команды сервера» - список команд сервера выводится в компоненте ListBox;

    «Справка» | «О программе…» - окно с информацией оприложении и его авторе.

5. Провести полное тестирование приложения на различных объектах и серверах.







2024 © gtavrl.ru.