Delphi világ - delphi és ole automatizálás szóval

Kezdetben az Igaz volt, és az Igazság 1.0 volt.

Az automatizálás lehetővé teszi egy alkalmazás számára egy másik alkalmazás kezelését. A kezelt alkalmazást automata kiszolgálónak nevezik (ebben az esetben Word). A kiszolgálót kezelő alkalmazás az automatizáláskezelő.

Az automatizálási szerverekhez kétféleképpen lehet hozzáférni:

Későbbi kötés (IDispatch interfész)

Ha ezt a módszert használja, akkor a programnevek végrehajtása során a függvénynevek és a paramétertípusok feloldódnak, minden paramétert egy variáns típus határoz meg.

Mivel a fordítási idő alatt nem lehet meghatározni a függvénynevek és a paramétertípusok közötti megfelelést, ez a módszer tele van hibákkal.

Mivel a funkcióneveket és paramétertípusokat futás közben kell ellenőrizni, ez a módszer lassú.

Ennek a módszernek az egyetlen előnye a Delphi programozásakor, hogy nincs szükség a hívott függvény összes paraméterének átvitelére.

Korai kötés (típus könyvtár / interfészek használata)

Ha ezt a módszert használja, akkor a fordítási időben a függvénynevek és paramétertípusok teljesen feloldódnak.

A típuskönyvtárat importálni kell a Delphi-ba. A típus könyvtár a szerver által támogatott valamennyi objektum és funkció nyelv semleges leírása. (Ez hasonló a C fejlécfájlhoz).

Funkció hívásakor minden paraméternek jelen kell lennie, még a dokumentációban megadottak is opcionálisak (opcionális). Ez lehetővé teszi a hiba észlelését és kijavítását a program elindítása előtt.

A végrehajtási sebesség sokkal gyorsabb, mint a késői kötés használata.

A második módszer előnyeiből adódóan a dokumentum többi része a korai kötődéssel rendelkező alkalmazások létrehozásának elveit mutatja be. Az Excel-automatizálással rendelkező összes alkalmazásnak a legutolsó módszert kell használnia, ha nincs ok az elsőhöz.

Készítsen egy típuskönyvtárat.

A Pascal modulot a típuskönyvtár alapján kell létrehozni.

  • Válassza ki a Project | Import Type Library menüpontot
  • Kattintson a Hozzáadás gombra, és válassza ki a következő fájlt
  • c: \ programfájlok \ microsoft office \ office \ msword8.olb
  • Kattintson az OK gombra.

Sajnos ez a modul a projekthez nyilvánvalóan nem fordul elő, bár benne van benne, valószínűleg azért, mert az alkalmazás ezt a modult valamilyen szöveges alkalmazásnak tekinti.

A legegyszerűbb módja az excel_tlb modul eltávolítása a projektből, majd csak hozzáadni a használt modulok listájához.

A c: \ programfájlok \ microsoft office \ office \ vbawrd8.hlp hivatkozási fájl tartalmazza az elérhető Wordobjektumokkal kapcsolatos információkat.

A "felvevő" makrók lehetővé teszik a VBA kód gyors létrehozását. Ezután könnyen átvihető Delphi-ba.

A következő példa a Delphi csomagolóosztályt használja, amely közvetlenül a Word-objektumokhoz közvetlen hívásokat tartalmaz. Itt van a módszer előnye:

  • Elrejtési lehetőségek biztosítása. Az alapértelmezett beállítások használata számos módszer esetében. Számos Word módszer is működik a változó paraméterekkel. Ez azt jelenti, hogy a konstansok használatának lehetetlensége - a rejtőzködő paraméterek megoldják ezt a problémát.
  • Adja meg a típusellenőrzést. Számos módszert definiálnak az OLEVariant paraméterekkel, amelyek külső kompatibilitást biztosítanak.
  • A következő csomagolási osztály bemutatja a kulcsfontosságú módszereket a Word automatizálására. A teljes osztály az 1. függelékben található.

Osztály létrehozása:

Adja hozzá a típuskönyvtár modult az alkalmazott modulok listájához.

Kapcsolódó cikkek