ПредишенСледващото

Пример OLE прилагане

Запазване на OLE обекти в база данни

    1. преглед
    2. От статията ще научите основите на OLE, някои неща по отношение на OLE OLE Automation 2 и. Тази статия обяснява как да използвате TOLEContainer обект за изграждане на OLE приложения в Делфи.
    3. Основи на OLE
    4. Преди да се обърнат към основите на Оле, той трябва да се разгледа на терминологията.

    Съкращение означава OLE обекти свързани и вградени (свързан и вградени обекти - БИРА J). Данните споделени между приложения се наричат ​​OLE обекти. Заявката който може да съдържа OLE обекти, наречени OLE контейнер (OLE контейнер). Заявлението от които данните могат да бъдат включени в контейнер OLE OLE OLE обект, наречен сървър.

    Както подсказва името, OLE обекти, можете или да се прикрепят към контейнера за OLE, или да се включат в нея. В първия случай, данните ще се съхраняват в файл на диска, всяко приложение ще има достъп до тези данни и ще бъде в състояние да направи промени. Във втория случай, данните, включени в контейнера OLE и само той ще може да преглежда и променя данните.

    В природата има няколко вида OLE, се различават по начина на активиране на OLE сървър. OLE версия 1 сървър стартира в отделен прозорец. OLE 2 приложат това, което се нарича на място активиране и редактиране. В този случай, сървърът работи "отвътре" на клиентското приложение, под формата променя системното меню, ленти с инструменти и други OLE Идеята е довело до развитието на автоматизацията -.- Client приложение OLE може да изпълнява част от кода на сървъра. Вид на OLE обект поставен в клиентската програма, определена от коя версия на сървър поддържа OLE.

  1. обект TOLEContainer
  2. TOLEContainer обект се намира на страницата на системата на Компонент палитрата и необходимостта от създаване на заявление OLE-контейнер. TOLEContainer крие цялата сложност, свързани с вътрешната организация на OLE и осигурява програмист с доста прост интерфейс. Изграждане просто приложение, с помощта на OLE обект. Създаване на нов проект и го поставете върху форма TOLEContainer на, в инспектора на обекта, кликнете два пъти върху имота или ObjClass ObjDoc - (. Виж фиг 1) Стандартният Windows диалогов "Insert Object"

    В този диалогов прозорец, има списък на всички регистрирани в системата, OLE-сървър (регистрацията се извършва в инсталацията на програмата). тип OLE-обект се определя като времето на сървъра, който сте задали. Ако създадете нов обект (Create New), след това стартирайте програмата OLE-сървъра, което се формира и нов обект чрез натискане на бутона OK. След излизане сървърни програми е включен нов OLE обект (вграден обект) в програмата. OLE обект може да бъде създаден с помощта на съществуващ файл във формат на един от най-OLE сървър. За да направите това, изберете Създаване от файл (вж. Фигура 2)

    Избраният обект може едновременно да бъдат включени в заявлението, и да прикачите време, първо изберете Link.

    Така че нека да при създаването на нашия проект ще създаде нов обект, като изберете да направите това, например, Microsoft Word документ (Фигура 1). Щракнете върху OK, а след началото на MS Word, въведете произволен текст там ( "Това OLE-обект Microsoft Word документ"). има специална точка "Файл | Затворете и Назад към Form1" за завършване на работата в менюто (Win'95 + MS Word 7.0). Изпълнете проекта, тя ще изглежда по следния начин:

    Кликнете два пъти върху мишката върху OLE-контейнера - тичам MS Word документ на OLE-обекти са, които могат да бъдат редактирани, всички промени се записват в OLE-обект.

    . Ако по време на проектирането изберете обект за включване в OLE-контейнера, то е напълно написана под формата на файл (FORM1.DFM) и по-нататъшно prikompiliruetsya да EXE файл. В случай на много големи обекти, това може да доведе до дизайна по време на дълга пауза, а дори и до грешка "Няма ресурс". Следователно, големи обекти се прикрепен (свързан) се препоръчва.

    TOLEContainer позволява да се показва в обекта на програмата в пряка форма (с различна степен на увеличение или намаление - имот Zoom), или под формата на икони, определени в диалога на фиг.1 (Display като икона).

    Избор на OLE-обекти може да се появи не само по време на проектирането, но и по време на изпълнението на програмата (повече за това по-долу). Резултатите от този обект може да се запише като файл и следващия път да го възстановите от там, защото има два метода TOLEContainer SaveToFile и LoadFromFile.

  3. Пример OLE прилагане
  4. Сред демонстрациите, включени в Делфи, има две, свързани с работата с OLE-обекти (директории X: \ DELPHI \ ДЕМОС \ OLE2 и X: \ DELPHI \ ДЕМОС \ DOC \ OLE2). По-пълно е втората, която между другото е пример за изграждане на MDI приложения. Тази програма показва всички основни характеристики TOLEContainer и ви позволява да:

    - да се създаде нов OLE контейнер по време на работа;

    - инициализиране на OLE обект или диалогов прозорец стандартен Windows "Insert Object", или чрез използване на клипборда, или чрез използване на техниката на "плъзгане и хвърлят" (плъзгане и пускане);

    - запишете OLE обект във файл и да го възстановите от там;

    Фигура 4 показва пример на приложение MDI съдържащ два дете прозорци OLE обекти. За да създадете нов OLE обект, за да изберете елемент от менюто Файл | New и след това Edit | Поставете обекта. Стандартният диалоговия Windows за инициализиране на OLE обект (вж. Фигура 1). Ако заявлението за OLE сървър има способността да съхранява информация за OLE обект в клипборда, а след това се инициализира обекта, можете да използвате елемент от менюто Edit | Специално поставяне.

    Понякога е необходимо да се съхранява OLE обекти не са в досиетата и в (областта BLOB в таблицата) на базата данни. Разбира се, в този случай, обектът OLE да бъде свързан (закрепен) с оглед на преносимост. За съжаление, на доставката Delphi не съществува специален вид TDBOLEContainer обект за тази цел, но обектът OLE могат да бъдат запазени и реставрирани с помощта на методи и SaveToStream LoadFromStream. Например:

    процедура TOLEForm.SaveOLE (Sender: TObject);

    OLEContainer.SaveToStream (BlSt като TStream);

Подкрепете проекта - споделете линка, благодаря!