Dinamikus oldal indítása ActiveX vezérlők
Köztudott, hogy a VCL-összetevők dinamikusan hozható létre futásidőben. Például, ha egy eseménykezelő társított egy gombnyomással, a következő kódot, majd ha rákattint a gombra futási lesz egysoros szöveget Nole:
Ha tSzerkesztés komponens hiányzik a komponens palettán, akkor a kód is sikeresen végrehajtható - a dinamikus létrehozását VCL-kom-poneptov nem szükséges, hogy jelen legyen Pas komponens palettán.
Jellemzően Delphi ActiveX vezérlők a következőképpen működnek. Először kiválasztott parancs Component ► Import ActiveX-vezérlő, ActiveX kiválasztott elem kerül az első komponens palettán, akkor - na alakítják ellenőr tárgyak és tulajdonságai megváltoznak eseménykezelõkkel. Felmerül a kérdés, hogyan kell inicializálni ActiveX vezérlő futási időben? Inkább legyen a kérelem benyújtásának időpontjában végrehajtás létrehozni egy működő példányát az ActiveX-vezérlő, ha nem regisztrálja azt a komponens palettán?
A fenti leírásból kitűnik, hogy amellett, hogy az inicializálás, é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-kopteyper, amely kerül az ActiveX-vezérlő. A szerepe az ilyen tároló Delphi játszik TOleControl osztály deklarált 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égrehajtani az ügyfél eseménykezeléshez, valamint egy linket a licencet interfész kellett hívni IClassFactory2 interfész módszereket. InitControlData módszer az úgynevezett után automatikusan működik TOleControl tervező
Hozzon létre egy új alkalmazás és interfész részén nyilvánítja egy új osztályt - a leszármazott TOIeControl osztály:
Végrehajtási módszerek és InitControlData EmbeddAX kell kinéznie:
Mi tesz egy gomb alakú, és hozzon létre egy egyszerű eseménykezelő:
Most lehet futtatni az alkalmazást, és futás közben a gombra kattintva. ActiveX-vezérlő megjelenik ezen a területen. Cserélje ki a GUID érték az osztály gyári az alábbiak szerint:

Ábra. 2.24. Inicializálás ActiveX nem regisztrált tagja az alkalmazás során végrehajtás
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-kiszolgálók, amelynek regisztrációs kulcsot Kontroll azonosító GUID osztályú gyár. A jelenléte ebben a szakaszban támogatást biztosít COM-Ser-Verom IOleClientSite interfészek, IOleControlSite, IOlelnplaceSite, amelyek megjelenítéséhez szükséges ActiveX-vezérlő a kliens.