Referencia Kézikönyv delphi

Példa OLE alkalmazás

Mentése OLE objektumok adatbázisban

    1. áttekintés
    2. A cikk meg fogja tanulni az alapokat a OLE, néhány dolgot illetően OLE 2 és OLE Automation. Ez a cikk leírja, hogyan kell használni TOLEContainer objektum építésére OLE alkalmazások Delphi.
    3. Alapjai OLE
    4. Mielőtt rátérnénk az alapokat a OLE, meg kell vizsgálni a terminológiát.

    Rövidítés jelentése OLE objektumok kapcsolódva, illetve a beágyazott (Attached, beágyazott objektumok - SÖR J). Az adatok között megosztott alkalmazásokat nevezzük OLE-objektumok. Egy alkalmazás, amely tartalmazhat OLE objektumokat nevezzük OLE tartály (OLE konténer). Az alkalmazás, amelyből az adatok is szerepelnek a tartályban OLE OLE objektum neve OLE szerver.

    Ahogy a neve is mutatja, az OLE objektumok, akkor sem tulajdonítanak az OLE konténer, vagy belefoglalni azt. Az első esetben, az adatok tárolhatók egy file bármely alkalmazás hozzáférhet az adatokhoz, és képes lesz arra, hogy a változások. A második esetben az adatok szerepelnek a OLE tartályban, és csak ő képes lesz megtekintheti és módosíthatja az adatokat.

    A természetben van többféle OLE, eltérő módon az aktiváló OLE kiszolgáló. OLE változat 1 szerver indít egy külön ablakban. OLE 2 végre az úgynevezett in-place aktiválás és a szerkesztést. Ebben az esetben a szerver fut „belső” a kliens alkalmazás, az űrlap módosítja a rendszer menü, eszköztárak és más OLE gondolat vezetett, hogy a fejlesztési OLE -.- kliens alkalmazás tud végezni egy részét a szerver kód. Típusa OLE objektum kerül a kliens program, meghatározva, hogy milyen verziójú OLE kiszolgáló támogatja.

  1. objektum TOLEContainer
  2. TOLEContainer található objektumot a rendszer oldalon a komponens palettán, és annak szükségességét, hogy hozzon létre egy alkalmazás OLE-tartályba. TOLEContainer elrejti a bonyolult kapcsolódó belső szervezete OLE és biztosítja a programozó egy meglehetősen egyszerű felhasználói felületen. Építeni egy egyszerű alkalmazás segítségével, az OLE objektumot. Hozzon létre egy új projektet, és helyezze a forma TOLEContainer, az Object Inspector, kattintson duplán az ingatlan, vagy ObjClass ObjDoc - Egy szabványos Windows párbeszédablak „Insert Object” (ld. 1.)

    Ebben az ablakban van egy lista az összes regisztrált a rendszerben, OLE-kiszolgáló (regisztrációs zajlik a program telepítése). OLE-objektum típus az az idő, a szerver, hogy meg kell adni. Ha létrehoz egy új objektumot (Új), akkor a program futtatásához OLE-kiszolgáló, ami képződik, és egy új objektumot az OK gomb megnyomásával. Miután elhagyta a szerver programok új OLE objektum szerepel (beágyazott objektum) a programban. OLE objektum segítségével lehet létrehozni egy meglévő fájlt ebben a formában egyik OLE-kiszolgáló. Ehhez válassza ki a Create from File (lásd. 2. ábra)

    A kiválasztott objektum egyaránt be kell vonni az alkalmazást, és csatolja egy időben, először válassza ki a link.

    Szóval vessünk létrehozásakor a projekt létrehoz egy új objektumot választotta erre, például a Microsoft Word (1. ábra). Kattintson az OK gombra, és a rajt után az MS Word, írja a szöveget ott ( „Ez az OLE-objektum Microsoft Word dokumentum”). van egy speciális elem „Fájl | Kilépés és visszatérés a Form1” befejezni a munkát a menüben (Win'95 + MS Word 7.0). Fuss a projekt, akkor a következőképpen néz ki:

    Kattintson duplán az egérrel a OLE-tartály - fut MS Word dokumentum az OLE-objektumok, amelyek lehet szerkeszteni, minden változtatás menti az OLE-objektumot.

    . Ha a tervezés során kiválaszt egy tárgyat felvétele a OLE-tartály, akkor az teljes mértékben az egy fájl formájában (FORM1.DFM), és további prikompiliruetsya az EXE fájlt. Abban az esetben nagyon nagy méretű tárgyakat, ez ahhoz vezethet, hogy a tervezés során egy hosszú szünet, és még egy hiba: „Kevés az erőforrás”. Ezért nagy objektumok nem kapcsolódik (kapcsolt) ajánlott.

    TOLEContainer lehetővé tették, hogy a programban tárgy közvetlen formában (különböző mértékű növekedése vagy csökkenése - ingatlan zoom) formájában vagy ikonok meghatározott párbeszéd az 1. ábrán (Megjelenítés ikon).

    Válogatás OLE-objektumok fordulnak elő nemcsak a design, hanem a végrehajtása során a program (erről bővebben később). Ennek a tárgy lehet megtakarítani, mint egy fájlt, és a következő alkalommal visszaállítani onnan, mert két módszert TOLEContainer SaveToFile és LoadFromFile.

  3. Példa OLE alkalmazás
  4. Között a demókat szerepel Delphi, van kettő a munka az OLE-objektumok (könyvtárak X: \ DELPHI \ DEMOS \ OLE2 és X: \ DELPHI \ DEMOS \ DOC \ OLE2). A teljesebb a második, amely többek között egy példa építési MDI alkalmazások. Ez a program megmutatja a főbb jellemzői TOLEContainer és lehetővé teszi, hogy:

    - hogy hozzon létre egy új OLE konténer futásidőben;

    - inicializálja az OLE objektum, vagy a szabványos párbeszédablak Windows „Insert Object”, vagy pedig a vágólapra, vagy a technika felhasználásával „drag-and-dobás” (drag-and-drop);

    - menteni az OLE objektum egy fájlt, és visszaállíthatja onnan;

    A 4. ábra egy példát mutat be alkalmazás MDI, amely két gyermek ablakok OLE objektumok. Ahhoz, hogy hozzon létre egy új OLE objektumot a menüpont kiválasztása File | New majd a Szerkesztés | Objektum beszúrása. Egy szabványos Windows párbeszédablak inicializálni az OLE-objektum (lásd. 1. ábra). Ha az OLE-szerver alkalmazás képes információkat tárolni az OLE objektumot a vágólapra, majd inicializálja az objektumot, akkor a menüpont szerkesztése | Paste Special.

    Néha szükség van, hogy tárolja OLE objektumok nem a fájlok és az adatbázisban (BLOB mező a táblázatot). Természetesen ebben az esetben az OLE objektum csatolni kell (beágyazott) Tekintettel a hordozhatóság. Sajnos, a standard szállítási Delphi nincs külön TDBOLEContainer objektum típus erre a célra, de az OLE objektum lehet menteni és helyreállítani módszerek segítségével és SaveToStream LoadFromStream. Például:

    eljárás TOLEForm.SaveOLE (Sender: TObject);

    OLEContainer.SaveToStream (BlSt mint TStream);