Néhány kevésbé ismert képességei ActiveX-vezérlők Computerpress

Technológiai COM (Component Object Model) aktívan a Microsoft által kifejlesztett az elmúlt néhány évben, és folyamatosan fejlődik, és fenn kell tartani, egészen mostanáig. Ezért számos publikáció ma, ami megmagyarázza azt az elvet, és célja a COM-objektumokat. Ennek megfelelően, az ActiveX technológia, mint az egyik COM vonalak, mint széles körben tárgyalt a sajtóban. Van elég irodalom, amely részletesen leírja a működési elve és célja az ActiveX-vezérlők azok létrehozása, felhasználása, új tulajdonságok és módszerek, hogy új eseményt rakodók, stb Azonban néhány szempontból a teremtés és az ActiveX-vezérlők használatát még mindig nem jól szerepelnek az irodalomban. Ez a kiadvány részben kitölti a hézagokat a rendelkezésre álló olvasók leírások létrehozásának és működésének ActiveX-vezérlőket. Ebben meg fogja tanulni létrehozásával eseménykezelőkkel HTML-dokumentumok kihívásaira biztonsági ActiveX-vezérlők és dinamikus vonzó számukra. Példaként a fejlesztési eszközöket használt Delphi 6. Feltételezzük, hogy az olvasó tapasztalata ezzel a szerrel készítmény, és különösen, tartja az alapokat és alkalmazások COM létre az ActiveX vezérlők Delphi.







Ha új tulajdonságok és eseménykezelőkkel egy ActiveX-vezérlő.
ActiveX tesztelés HTML-dokumentum

ozdadim új ActiveX vezérlő segítségével Delphi Fájl menü | új | Egyéb ..., válasszon egy könyvjelzőt, és hívja az ActiveX szakértő ActiveX Library. Mentse el a projekt néven AXTest. Aztán megint fordul a Fájl menü | új | Egyéb ... | ActiveX és hívja szakértő aktív formában. A párbeszédablakban módosítsa a Név tulajdonságot egy ActiveX a New on AFTest. Az így kapott alakzat felcímkézni (TLabel) és a nyomógomb (TButton).

Ezzel szemben a definíció egy új tulajdonsága az ActiveX-vezérlő, ha létrehoz egy új esemény után fut Frissítés AFTestImpl1.pas modul nem üres jelenik meg a végrehajtás a kódot. Ez érthető: a kód kezelni az eseményeket fogják végrehajtani a kliens alkalmazás, amely használja ezt a ActiveX-vezérlő. Ugyanakkor ActiveX-vezérlő, akkor hívja ezt a felvezető. Mivel úgy döntöttünk, hogy a generált esemény miatt egy gombnyomással Button1, majd hívjuk meg egy módszert Button1.OnClick:

Ellenőrizze, hogy FEvents <> nulla van szükség, mert a kliens alkalmazás nem támogatja az interfész bejelentés, és ebben az esetben, egy kísérlet, hogy hívja a nem létező módszer eredményez kivétel.

Most végre a menü parancs Project | WEB telepítési lehetőségek és töltse ki a párbeszéd (3.).

Ha nem tud, hogy képet, majd további intézkedések használhatatlanok. Az oka annak, hogy nem tud futni egy ActiveX-vezérlő a Microsoft Internet Explorer, a következők lehetnek:

  • IIS nincs telepítve, vagy PWS;
  • hibásan töltötték ki a beállítások párbeszédpanel WEB telepítési lehetőségek;
  • A biztonsági rendszer nem csökken egy alacsony szintű.

Esemény létrehozása rakodók HTML-dokumentumok

Ahhoz, hogy hozzon létre egy eseménykezelő a HTML-dokumentum, használjuk az előző projekt. A létrehozott fájl AXTest.htm hogy a következő módosításokat (a hozzáadott kód van szedve):

Együttműködik script nyelv ellenőrző azonosítóval kell rendelkeznie (id = a tag ), Akinek a nevében akkor kerül sor, a kód ezeken a nyelveken. eseménykezelő neve kell kezdődnie egy azonosítót, majd egy aláhúzás (_), majd - a neve a eseménykezelő, meghatározott ActiveX vezérlő dispinterface. Ha egy eseménykezelő van paraméterek is kapnak.

Rátérve az oldalon a Microsoft Internet Explorer, és kattintson a Run script gombot, akkor láthatjuk a változásokat a fejléc címkéket (5.).

Ha egy ActiveX vezérlő sodavat Delphi 3, amikor megpróbálja futtatni a szkriptet Microsoft Internet Explorer egyes beállításait, akkor kap egy üzenetet a böngészőt potenciálisan veszélyes szoftver. Hogyan lehet elkerülni, hogy, lásd a következő részben.

A biztonsági rendszer Microsoft Internet Exprorer és digitális aláírás

Elektronikus aláírás, amellett, hogy információt a gyártó, és számos más hasznos információ. Például, ha a fájl * .ocx megváltozott hozzáadása után az elektronikus aláírás, akkor azonnal jelenteni kell a dob egy ilyen ellenőrzés.

A kereskedelmi fejlesztése ActiveX vezérlők, kívánatos, hogy megszerezzék a Microsoft ActiveX SDK. Amellett, hogy a részletes dokumentációt, és számos hasznos forrásokat tartalmaz MAKECER program, amely generál teszt tanúsítványokat.

Így a készítmény a nemzetközi elektronikus tanúsítványok hazánkban komoly probléma ma. Ugyanakkor a hiánya a felhasználó elektronikus aláírás eredményez akár egy állandó emlékeztető vele erről (vagy akár a tilalom terhelése ActiveX-vezérlők és a magas szintű biztonság böngésző), vagy azt okozza, hogy letiltja az Internet biztonsági rendszer. Természetesen a jelenléte elektronikus igazolás nem garantálja hiányában potenciálisan káros tartalom, de legalább lehetővé teszi az ügyfél forrásának azonosítására káros tartalmak. Ezen kívül átkódolja a fájlt fejlett titkosító algoritmusok, és kiszámítja az ellenőrző összegeket. Ha valaki megpróbálja, hogy módosítsa az ActiveX-vezérlő kódot, egy ilyen kísérlet azonnal detektálható egy ellenőrző és az ActiveX-vezérlő nem fog működni a Microsoft Internet Explorer. Ezért a jelenléte az elektronikus aláírás kívánatos is, ha fut a intranet és akkor is, ha az ActiveX-vezérlő Internet csupán arra van szükség.







Térjünk vissza az előző projekt. Minden teszt itt leírt készülnek Microsoft Personal Web Server 5.0. és a Microsoft Internet Explorer 5.0. Biztonsági szint Microsoft Internet Explorer kell állítani szokás. Az értékek az összes kapcsolódó beállítások ActiveX vezérlők ebben dialógus ablak jelenik meg, állítsa értékre.

és c script eseménykezelő OnBtClick, amint azt az előző részben. Akkor lehet kezdeni teszteli a Microsoft Internet Explorer biztonsági rendszer.

Miután az első hívást tartalmazó ActiveX HTML-oldal, a terhelés történik, és ez bekerül a könyvtárba WINNT \ Downloaded Program Files. További ellenőrzi az elektronikus aláírás (ami a mi esetünkben hiányzik). Ha a biztonsági szint beállítása a Microsoft Internet Explorer, megfelel Low, a felhasználó kap egy üzenetet, hogy lehet indítani, hogy végre potenciálisan veszélyes tartalmat. Ha a felhasználó nem emel kifogást, a kapott fájlt regisztrálva * .ocx a registry-ben, és a IPersistPropertyBag felület olvasni a tulajdonságait, hogy a HTML-oldalon (lásd. Fent). Ebben a megújult párbeszédet, amely egyértelművé teszi, hogy bár a tárgy kezelése és biztonságos, de el lehet érni script (6.).

Ezen kívül, meg kell figyelni, hogy az opció «inicializálása és futtatása ActiveX vezérlők nem a biztonságos» párbeszédablakban Biztonsági beállítások Microsoft Internet Explorer böngészőt. Bár az érték a lehetőségek lett állítva gyors és HTML-dokumentum, inicializálja paraméter URL, figyelmeztető érkezett. Így a Microsoft Internet Explorer tartja az ActiveX-vezérlő biztonságban a szempontból az adatok inicializálása és script.

Ennek az az oka, hogy az ActiveX-vezérlők létrehozása a Delphi verziók később, mint a harmadik támogatási IObjectSafety felület. Két meghatározott módszerek ezen a felületen:

INTERFACESAFE_FOR_UNTRUSTED_CALLER (= 1, névtelen hozzáférést biztosít a felület)

INTERFACESAFE_FOR_UNTRUSTED_DATA (= 2 lehetővé teszi a felhasználó számára, hogy névtelen adatokat küldhet a felület).

Tegyük fel, hogy a Teremtő az ActiveX vezérlő úgy véli, hogy ha a script vagy helytelen inicializálási ezen ellenőrző adatok sérülését okozhatja az ügyfélnek. Ebben az esetben, ő köteles átírni végre IObjectSafety módszerekkel. Ha az ActiveX-vezérlő végre TActiveXControl osztály, ez nem nehéz, mivel mindkét módszer IObjectSafety megadott virtuális védett részén. De egy osztály-leszármazott TActiveForm ez nem lehetséges, mivel az aktív forma nem leszármazottja TActiveXControl osztályban. Ha módosítani IObjectSafety módszerek aktív formában, akkor újra kell végrehajtani a megadott felületet. Az eljárások az új felület „homályos” régi, és ezért ők fogják hívni az ügyfelek.

Először meg kell hozzá IObjectSafety felületen a támogatott interfészek TAFTest:

TAFTest = osztály (TActiveForm, IFilledBox, IObjectSafety)

Továbbá, a privát részben meghatározhatja a két módszer - GetInterfaceSafetyOptions és SetInterfaceSafetyOptions c stdcall hívás irányelv és a végrehajtási szakaszban létre végrehajtását ezeket a módszereket:

Vizsgálati eredmények A jelen bejelentés eltér az előzőtől (ábra. 7).

Látjuk, hogy az Internet Explorer figyelmezteti a felhasználót a lehetséges veszélyt a tartalom. Ha az érték a biztonsági szint Middle ezt vezérlés automatikusan kezdeményezett, de az inicializálási adatok nem kerülnek végrehajtásra, mivel nem kerül végrehajtásra, és szkripteket. Ugyanezt a hatást érjük el, ha megnyomja a No gombra a párbeszédablakban, amely a Microsoft Internet Explorer (lásd. Ábra. 7).

Dinamikus inicializálása az ActiveX vezérlők alkalmazása

Orosz tudják, hogy VCL komponensek dinamikusan hozható létre futásidőben. Például, ha egy eseménykezelő társított egy gombnyomással, hogy végrehajtsa a kód:

A Delphi, ActiveX vezérlők, és a következőképpen működik: az első, az úgynevezett Component menü parancs | Import ActiveX-vezérlő, a kiválasztott ActiveX helyezni a komponens palettán, akkor helyezzük egy űrlapot, és az Object Inspector változás tulajdonságait és esemény létrehozása rakodók. Felmerül a kérdés: hogyan kell inicializálni ActiveX vezérlő futási időben - azaz anélkül, hogy regisztráció ActiveX komponensek a palettán, hozzon létre egy működő példányt belőle idején alkalmazás teljesítményét?

A fenti leírásból kitűnik, hogy amellett, hogy inicializálni, és hozzon létre egy működő példányt a ActiveX-vezérlő alkalmazásának a munka létrehozásához szükséges VCL-tartály, ahol el kell helyezni. A szerepe az ilyen tároló Delphi végez TOleControl osztály, amely bejelentett OleCtrls.pas modult. Az alapvető módszer ennek az osztálynak - InitControlData. Ebben az eljárásban, meg kell határoznia a GUID a gyár osztályok ActiveX-vezérlő, a számos esemény rakodók és Link Interface végre a kliens eseménykezelőkkel, valamint egy linket a licencet interfész kellett hívni IClassFactory2 módszerekkel. InitControlData módszer az úgynevezett után automatikusan működik TOleControl tervezők.

Hozzon létre egy új alkalmazást, és a felület szakasz nyilvánítja új leszármazott osztály TOleControl:

Módszerek és InitControlData EbeggAX észre alábbiak szerint:

Mi tesz egy gomb alakú, és hozzon létre egy egyszerű eseménykezelő:

Most már futtatja az alkalmazást, és közben a sajtóban. ActiveX-vezérlő megjelenik ezen a területen. Megváltoztatása GUID osztály gyárban, kiderül eltérő eredményre (lásd ábra. 8).

Mind az első és második vezérlő elemek a teszt nem regisztrált a palettán Delphi komponensek. Elvileg ugyanolyan módon lehet egyike a következő registry COM -server amelynek registry kulcsot ellenőrző szakaszok GUID osztályú gyár. A jelenléte ebben a szakaszban biztosítja COM támogatást -server IOleClientSite interfészek, IOleControlSite, IOleInplaceSite, megjelenítéséhez szükséges az ActiveX-vezérlő a kliens.

Cougar Újabban a vállalat bevezette az új sorozat tápegységek hagyományos PC-k - VTX, célozza meg a felhasználók a korlátozott költségvetéssel. Ez a felülvizsgálat modell Cougar VTX600 kell tekinteni, hogy mivel annak jellemzőit az egyik legnépszerűbb a sorban a tápegységek

Az évente megrendezésre kerülő esemény kapszaicin SIGGRAPH Los Angeles, az AMD megerősítette pozícióját a PC-piac a high-end új processzorok Ryzen Threadripper és GPU «Vega»

Egy egyszerű és kényelmes építési hétköznapi felhasználók hálózati cég ZyXEL kiadta a következő változat az internetes csomópont csatlakozik a 3G / 4G hálózatok USB-modem Wi-Fi hozzáférési pont - ZyXEL Keenetic 4G III, amit úgy ez a felülvizsgálat

Ahhoz, hogy az ő és így egy nagy család router és router cég ASUS nemrég hozzáadott két nagyon érdekes modell: a zászlóshajó 4G-AC55U és könnyebb 4G-N12. Ebben a cikkben a zászlóshajó modelljét ASUS 4G-AC55U figyelembe kell venni

Fiatal, de ambiciózus cég Krez idén kiadott egy új, eredeti modell laptop Krez Ninja (modell TM1102B32) Windows 10. Mivel ez a számítógép egy forgatható képernyő, ez szolgál egy univerzális megoldás - sikeresen lehet alkalmazni a munkát, és tanulmányi és játékhoz

Ha például gyakran nyomtat fényképeket és már fáradt változtatni tintapatronokat a nyomtatóban, nézd meg az MFP Epson L850. A hatalmas erőforrás fogyóeszközök, a kiváló nyomtatási minőséget, széles körű funkciók - ez csak néhány előnye ennek a modellnek




Kapcsolódó cikkek