1 Какво е ActiveX, система, Visual C, членове на

Използването на ООП, и по-специално, ActiveX технология позволява създаването на приложения, които се сглобяват от готови елементи - ActiveX контроли, които са различни от обичайните потребителите на C ++ Builder или за разработка на приложения Delphi използване на VCL-компоненти, така че това "събрание" не Това зависи от езика писмено и готовите компоненти, както и използването им прилагане - толкова дълго, колкото инструменти за развитие в подкрепа на използването на тези компоненти в разработеното приложение (заявлението се нарича контейнер т).

ActiveX контроли представляват библиотеки, съдържащи изпълним код. Както бе споменато по-горе, тези библиотеки могат да се използват в различни приложения като вградени контроли, така че те да имат свойства, събития и методи, които са достъпни чрез автоматизация. Съвременни инструменти за развитие обикновено позволяват да включва такива елементи са създадени с техните средства за кандидатстване. В допълнение, ActiveX контроли често се използват като разширения уеб браузър, за да им се даде допълнителна функционалност, например, за да се покаже документи, различни от поддържаните от браузъра.

Като всеки COM-сървър, ActiveX контрол елемент има уникален идентификатор GUID и трябва да бъде вписано в регистъра. Въз основа на този запис може да се търси място файл с разширение * .ocx и която да съдържа неговото прилагане.

По този начин, създавайки контрол ActiveX, който има функционалност ви интересува, можете да продължите да се даде възможност на потребителите си да включи този елемент в своите приложения (например, написан на Visual Basic, PowerBuilder, Delphi, C ++ Builder и т.н.), ще го покаже в уеб браузър, като част от освободените от вашия HTML-страница на уеб-сървър, включете го в документите за MS Office, докато не се изисква да предостави изходния код на този компонент.

Този набор от предимства направи тази технология за последните две години много популярни, поради което много от съвременните инструменти за разработка, като например Delphi или C ++ Builder, ви позволяват да създавате ActiveX контроли. Тези средства обикновено имат вградена ActiveX механизмите за подкрепа спецификация, с помощта на автоматично генериране на съответния код (въпреки че, разбира се, това не е забранено да се напише код като този с ръка).

ActiveX спецификация е набор от правила (по-специално описание стандартни интерфейси), чрез който да се създаде такъв контрол. Имайте предвид, че настоящата версия на тази спецификация взема предвид възможността за използване като контейнер уеб-браузъри и необходимостта от изтегляне на ActiveX контроли от отдалечен уеб-сървъри с автоматична регистрация.

2 Създаване на ActiveX контроли, въз основа на VCL-компоненти

Както е посочено по-горе, C ++ Builder 3 позволява създаването контроли VCL-базирани компоненти. За тази цел се използва Microsoft ATL библиотека (Active Template Library), което е днес в индустриален стандарт и ви позволява да създавате ActiveX контроли, които се съставят код и не изисква допълнителен време на изпълнение библиотека за тяхното изпълнение. Процесът на създаване на такъв контрол е много проста.

За да създадете трябва да бъде избран от хранилище страница ActiveX обекти, а след това един ActiveX контрол - ActiveX Control елемент.

По-долу е да попълните в диалоговия прозорец:


Фиг.1. Изборът на име ActiveX, имена на модули и основен VCL-Class

Необходимо е да се избере най-VCL-компонент, въз основа на която е създадена контрола ActiveX. Като пример сме избрали TCalendar.

В резултат на Wizard контрол ActiveX, за да създадете няколко модула, генериран уникален идентификатор (GUID) на ActiveX бъдеще, както и съответния тип библиотека.


Фиг.2. проект библиотека ActiveX в C ++ Builder

Библиотеката тип съдържа информация за имоти, събития и методите за контрол на ActiveX, наследени от оригиналния VCL-компонент.


Фигура 3. видове създаден ActiveX контрол библиотечни

Кодът, свързан с изпълнението на ActiveX, можете да намерите описание на тези свойства и методи.

Това е последвано от спасяване и съставяне на проекта и да се регистрирате контрола ActiveX в системния регистър. Това се прави, като изберете опция от менюто Run / Регистрация ActiveX сървър.

След това можете да тествате създадените на ActiveX-компоненти, да го отвори, например, в Visual Basic. Имайте предвид, че това е най-новите инструменти за развитие на широко използват ActiveX контроли като съставни части, произведени от тях чрез прилагането; Visual Basic приложения, действително събрани изцяло от на ActiveX-компоненти. Освен това, ActiveX спецификация, създаден за това, че предимно Visual Basic и Visual C ++ (и само тогава оставащата инструмента развитие) могат да бъдат контейнери за тези контроли. Ето защо, тестване ActiveX поведение в VisualBasic може повече или по-малко гаранция, че други средства за разработването на този контрол ще се държат по същия начин.

След това можете да поставите нашия ActiveX във форма и се опитайте да промените някои от неговите свойства, като се използват за тази цел прозорец "Properties".


Фигура 4. Тестване на ActiveX в Visual Basic

Частни Под CommandButton1_Click ()
UserForm1.Show
End Sub

Сега можете да щракнете върху лентата с инструменти "Visual Basic" бутон "Изход Режим на проектиране". След това кликнете върху документа, който е създаден в тялото на бутона ще доведе до диалоговия прозорец за създаване на нашия контрол.

Човек би могъл, разбира се, се тества поведението на ActiveX е създаден, поставена в по-палитра от компоненти на Delphi или C ++ Builder. но това не е най-добрият начин да се тества - всъщност в основата на създаването на нашата ActiveX е една и съща библиотека VCL, както и че на базата на вашето приложение за тестване на ActiveX. Използването за тази цел всеки несвързан с инструменти за развитие VCL, че могат да използват ActiveX контроли в приложенията си, повече от оправдано. Трябва да се отбележи, че Visual Basic за приложения е най-често използваното средство за развитие на този клас, като част от най-популярните в нашата страна, офис пакета.

3 Създаване на страници собственост

Тъй като ActiveX контроли могат да бъдат използвани в инструменти за развитие, те често имат набор от страници на собственост, което позволява на потребителите да променят някои свойства на контрола.

За да създадете страница собственост, изберете хранилище на обекти и ActiveX страница елемент на имота Page. Резултатът е форма, на която да поставите интерфейсни елементи.

Създаване на страницата за имоти редактиране и CalendarDate GridLineWidth. За този пост на новосъздадената под формата на две компоненти TStaticText и две TEdit компонент.


Фигура 5. Страница свойства на етапа на проектирането

В създаден формата генерира събитие товарачи прототипи UpdatePropertyPage и UpdateObject. Добавете ги в съответния код:

На следващо място, трябва да създадете връзка към свойствата на страницата в модула, посветена на реализацията на контрола ActiveX. За тази цел е необходимо да се измени ч-файл промяна на кода е да впишете линия, което показва необходимостта от регистрация на страници за недвижими имоти:

Тя трябва да включва линк към страницата, собственост на з-файл в изпълнението на з-файл ActiveX.

Това е последвано от повторно компилиране на ActiveX DLL и да го регистрирате.

Ако сега в Visual Basic развитие на околната среда, за да постави на по поръчка формират нашата ActiveX и изберете страницата собственост "Специален", получаваме страницата, създадена от нас:


Фигура 6. страница ActiveX имот във фазата на тестване

Чрез промяна в стойностите TEdit компоненти може да се види, че имотите са се променили и съответните ActiveX елемент.


Фигура 7. Резултатът от използването страницата за имот

4 Създаване на активни форми

Активната форма - е елемент ActiveX контрол съдържа множество VCL-компоненти. Създаването на такъв контрол може значително да се разшири функционалността на разположение за ActiveX диапазон. Създаването на такива ActiveX се появява почти същото като създаването на нормално приложение.

Нека се опитаме да създадем един прост пример за такъв контрол. За да го създаде, изберете страницата с ActiveX обект хранилище ActiveForm, отговори на въпросите за името на компонента, а след това под формата на дизайнера се празен формуляр - празен ActiveX бъдеще. Добавете към тази форма компоненти TCheckBox, TButton, TImage и TOpenPictureDialog.


Фигура 8. Активната форма на етапа на проектиране

Нека създадем със събития, свързани с TCheckBox и TButton:

Сега можете да компилирате заявлението за регистриране на ActiveX създаден и го тестват по гореописания начин.


Фигура 9. Тестване на активната форма на Visual Basic

Можете също така да се тества, генерирани ActiveX век, като го показва в Internet Explorer. За тази цел, можете да изберете от менюто на проекта / Web възможности за внедряване в страницата на проекта в Целеви реж полета, Target URL, HTML реж този диалогов прозорец, за да укажете името на локална папка.

След това можете да изберете опцията за проекта / Web Deploy и съветника Уеб Deployment да отвори до края на работата на Internet Explorer автоматично генерира C ++ Builder HTML страници име в който съвпада с името на създадения проект:


Фигура 10. Тестване на активната форма в Internet Explorer


Фигура 11. Създаване опция ActiveX доставка чрез интернет

В допълнение, трябва да се обърне внимание на още "пакети" или други файлове, за да бъдат включени в доставката, ако опциите за проекта са такива, че да изисква използването на каквито и да било допълнителни библиотеки. ActiveX разделение на няколко файла, и подбора на индивидуални опаковки могат да бъдат използвани за намаляване на общото време за изтегляне на ActiveX през Интернет, например, в случая на предстоящия необходимостта от актуализиране на версията на ActiveX или предоставят няколко различни ActiveX - в този случай, част от "пакета" може да бъде настроен веднъж, а след това произвежда малка доставка на значителна част от контрола ActiveX. Въпреки това, не е забранено да се създаде ActiveX в един файл. Имайте предвид също, че когато изберете Включи CAB компресиране на файлове може да се използва за събиране на файлове в един файл с разширение * .cab, всъщност е файл, който също намалява около два пъти на файлове за сваляне в интернет.

Трябва да се отбележи, че в активни форми може да се използва почти всички компоненти C ++ Builder, освен TMainMenu. Възможно е също така динамично генериране на допълнителни форми на изпълнение, с допълнителни форми вече не се съдържат в контейнера и ще бъдат конвенционални форми на Windows (и, разбира се, могат да съдържат включително TMainMenu).

В заключение, като се редактира библиотеката вид, че е възможно да добавите имот ActiveX създадени и след това да се опише техниките и тяхното използване в съответната модула.