Ole automatizálási technika
OLE objektumok csatolása és beágyazása (Object Linking és beágyazás). OLE Automation - ez is része OLE technológiát, ami felelős az alkalmazások integrációját (lásd álmok Jef Raskin I. fejezetben). COM - nem az, hogy a COM port, és még csak nem is a Component Object Model. A különbség a COM és OLE Automation, hogy a második jött később egy fejlettebb változata, amely lehetővé teszi, többek között az interaktív alkalmazások különböző számítógépeken. Az egyszerűség kedvéért feltételezzük, hogy a feladatok között nincs különbség. Modul felelős objektumok OLE Automation, Delphi egy olyan név, hogy beszél ComObj. Mi fog beszélni az OLE, utalva OLE Automation, és a „COM” ezentúl nem próbáljuk mondani hangosan, hogy nem szabad összekeverni.
By the way, ActiveX ugyanabból sorozat, csak az ActiveX komponenseket általában speciálisan kisalkalmazások (Java alternatív). Az ActiveX komponensek hatékonyan „vak” Internet Explorer, a mi kedvenc WebBrowser nem más, mint egy kihívás, hogy ezen összetevők. ActiveX komponensek vagyunk ebben a könyvben nem veszik figyelembe, elsősorban azért, mert velük sokkal könnyebb dolgozni a Visual Basic, másodszor pedig, mert amennyire csak lehetséges, hogy jobb nekik, hogy nem működik, mert a „glyuchnosti” lassúsága és rendkívüli szilárdságú használható. Azonban OLE Automation, mint látni fogjuk, nem sokban különbözik ebben az értelemben a ActiveX komponensek.
széljegyzetek
Szeretném hangsúlyozni a különbséget az OLE / COM / ActiveX és a hagyományos API- felület. OLE-objektum - nem egy függvény vagy eljárás, valamint az alkalmazás, amelyre pályázik, mint egész, annak minden előnyével és hátrányával együtt. Volt egy nagyon jó példa erre látható az ügyetlen és rosszul sikerült, de egyébként elég hatékony WebBrowser. Ezért prvvilno jelentett problémát, amely megoldja a technológia a OLE van beépítése egyes alkalmazások (Word, Excel, Acrobet Reeder, az Internet Explorer, és így tovább. N.) A programban, vagy csak hívjon egy másik program (nem működik!) Végezzenek bizonyos intézkedéseket. Továbbá, ellentétben az API hívások, ez lehet tenni egy távoli számítógépről a hálózaton keresztül. Feladatok leírása ilyen jellegű, megtalálja a web akárhány (lásd. Pl. [24]). Később, akkor próbálja meg egy kicsit másképp, és megtudja, hogyan lehet előrelépni a használata OLE-objektumok - hasonlóan a funkció API - az eljárások, amelyeket mi magunk nem tudom, hogyan, és a segítségével egy alkalmazás hívást, hogy ez a képesség, de stvrayas az a tény, a hívás, hogy elrejtse. Mint látni fogjuk, mi csak akkor lehetnek sikeresek otchvsti.
Az OLE lehet az alkalmazás, hogy minden, hogy ő is alkalmazást, amely Automation Server. Ehhez győződjön meg arról, hogy az alkalmazás már Automation Container. Ezek ijesztő kifejezések nem megijeszteni - akkor egyszerűen hozzon létre egy fogadó objektum egy adott nevet segítségével Createoieobject függvényhívás és manipulálja őket. I. fontosabb, hogy ne felejtsük el, hogy elpusztítsa azt követően, ebben az esetben vannak árnyalatok: Természetesen akkor egyszerűen megsemmisíti az objektumot a kérelmében, mint általában, de ő a rendszer nem tűnik el. Ezért szükséges, hogy elpusztítsa az első kettős megfelelő módszerrel (mint például a go bezárása Kilépés) maga a tárgy van zárva, majd elpusztítja a linket azt a programot hívja Függetlenek funkció, az utóbbi nem is kell (mint ahogy nem feltétlenül elpusztítani a fájltársítást változó adott fájl nevét, de biztos, hogy zárja be). Ha elfelejtette, hogy elpusztítsa azt, a következmények is elég szomorú, és ne feledje, hogy ha a hibakereső program a Delphi környezet szükséges megszüntetni egy hiba miatt, a futó objektum „lefagy”, és akkor azt el kell távolítani egy listát a futó alkalmazások rendszer eszközt (via
Miután létrehozta az OLE-objektum, akkor szinte elfelejteni Delphi. A módszerek és egy objektum tulajdonságait most kell lehívandó egy sor tulajdonságait, és
Delphi erre nincs hatással rájuk nem lesz. És akkor nem csak akkor lesz képes megszokni nyom, mint a tulajdonság vagy metódus azáltal, hogy egy teljesen megáll után az objektum neve - a fordító általában nem vizsgálják felül, amit írtál, hogy van. És még a hibakezelés keresztül próbálja kivétel mechanizmus. kivéve akkor képes lesz arra, hogy végezzen nem mindig. Ez, persze, rossz, mert a tárgyak, amelyekkel foglalkoznunk kell (MS Office tárgyak) vannak undorító hibakezelés mechanizmus. Ez a rendelkezés azonban nem mindig jelen van, de csak abban az esetben „késői kötelező” tárgyak, amelyeken mi lakozik később.
Következő fogunk beszélni csak a MS Office tárgyakat. Az összes problémát, hogy lehet megoldani az OLE, hívja Office alkalmassága az egyik leggyakoribb, például a The Bat! Az ily módon végez helyesírás-ellenőrzést. Mi a helyesírás ellenőrzés nem szükséges elvégezni, és így az illetékesek, és itt olvasható szöveg a dokumentum DOC vagy RTF formátumban szeretnénk. És valóban ez lehet tenni, legalább három különböző módon.
A „hivatalos” Track-használat komponensek Delphi könyvjelzők kiszolgálók. Sok alkalmazások, ahol ezek a komponensek sokkal kényelmesebb a használata - ha csak azért, mert a szintaxis ellenőrző. kezelése komplex, mint egy egyszerű OLE-objektumok, például, VBA és WordBasic módszerek is lehet nevezni tetszőleges számú paramétert, és a Delphi-eljárás, amelyben ezeket átalakítjuk - nincs. Vannak más dolog, hogy a mi esetünkben nincs hatással rájuk (például a Csatlakozás módszer). Az oldalon lefektetett Borland Segítség ezek az alkatrészek az ötödik változat (ftp://ftp.borland.com /pub/delphi/techpubs/delphi5/d5ms97.zip), de mint mindig, zavaros és nem informatív.
Gyakorlatilag ugyanaz, mint a véletlen szerverek, hogy saját komponenseket kínált az import MS Word TLB-könyvtárak. Akkor is készíthet figyelt paraméterek és eljárás hívások. Másik előnye, mindkét módszer, még mindig rajta a neve „korai kötődés” - létrehozása OLE-kiszolgáló fut egy kicsit gyorsabb, mint a dinamikus hivatkozás során a program ( „késői kötés”). Ezen túlmenően, a dinamikus kötés nem fog működni az összes módszer az objektumok. De cselekedni, „hivatalosan” mi nem tetszik, és ha igen, ez lehetséges, akkor nem olyan egyszerű - a saját.
A késő erejű tárgyak számára két választási lehetőség. Először - az elején 90. an- Microsoft létrehozott egy speciális dialektusa alapvető kedvenc nyelv úgynevezett Szó Basic, kifejezetten „kihegyezett” programozással makrók Word és hozzáférést biztosít az OLE-szervereket. Vele dolgozni meglehetősen egyszerű, vannak funkciók nagyságrenddel kisebb, mint a VBA, és emlékezteti az összes kedvenc Pascal - ugyanolyan mértékben, hogy ez hasonlít nagyon Alap. Az egyetlen, de nagyon nagy „de” ebben az esetben az, hogy a FAQ Szó Alap manapság kap nyugtalan: ez része volt a Word 6.0 csomagot, és az Office 95, majd a hivatalos forrásokból származó eltűnt, már csak említett további hivatalos levelezés táblázat . Ez egy utalás (Word 6.0) a wrdbasic.hlp fájlt, és azt állítják, hanem, hogy a lemezen ez a könyv nem tudom, t. Hogy. Bár Word 6.0 sokáig már nem támogatott, forgalmazási jogokat, nem tudom amim van. Ezért fogunk megtenni, megmutatom, hogyan kell működtetni az Ige Basic egy szűk olvasás a problémát, és átalakítani a fájlokat DOC és RTF formátumban, majd fogunk eljárni „a szabályokat” és manipulálni tárgyakat a VBA.