1 Ce este activex, sistem, c vizual, pe articole
Folosind COM, și, în special, tehnologia ActiveX permite crearea de aplicații care sunt asamblate din componente gata făcute - controale ActiveX care sunt diferite de utilizatorii obișnuiți de C ++ Builder sau dezvoltarea de aplicatii Delphi folosind VCL-componente, astfel încât această „adunare“ nu depinde de limba scrisă sub formă de componente finite, precum și utilizarea aplicarea lor - atâta timp cât instrumentele de dezvoltare susțin utilizarea acestor componente în aplicația dezvoltată (aplicația se numește în mod obișnuit un container m).
Controalele ActiveX reprezintă bibliotecile care conțin cod executabil. După cum sa menționat mai sus, aceste biblioteci pot fi utilizate în diverse aplicații ca controale integrate, astfel încât acestea să aibă proprietățile, evenimentele și metodele, accesibile prin automatizare. Instrumente moderne de dezvoltare permit, de obicei cuprind astfel de elemente sunt create cu mijloacele lor de aplicare. În plus, controalele ActiveX sunt adesea folosite ca extensii de browser-ul web, în scopul de a le oferi funcționalitate suplimentară, de exemplu, pentru a afișa alte documente decât suportate de către browser.
Ca orice COM-server, element de control ActiveX are un identificator unic GUID și trebuie să fie înregistrate în registru. Pe baza acestei înregistrări pot fi căutate locația fișierului cu extensia * .OCX, conținând punerea sa în aplicare.
Astfel, creând un control ActiveX care are funcționalitatea vă interesează, puteți continua pentru a permite utilizatorilor săi să includă acest element în aplicațiile lor (de exemplu, scris în Visual Basic, PowerBuilder, Delphi, C ++ Builder, etc), poate afișa în browser web, ca parte a externați din HTML-pagină web-server, include în documentele MS Office în timp ce nu sunt necesare pentru a furniza codul sursă al acestei componente.
Acest set de avantaje fac ca această tehnologie în ultimii doi ani foarte popular, motiv pentru care multe instrumente moderne de dezvoltare, cum ar fi Delphi sau C ++ Builder, vă permit să creați controale ActiveX. Aceste fonduri au de obicei un built-in ActiveX mecanisme de sprijin caietul de sarcini cu ajutorul generării automate a codului corespunzător (deși, desigur, nu este interzis să scrie cod ca acest lucru manual).
specificație ActiveX este un set de reguli (și anume interfețe standard descriere), prin care să creeze astfel de controale. Rețineți că versiunea actuală a acestei specificații ia în considerare posibilitatea de a folosi ca un container browsere web și necesitatea de a descărca controale ActiveX de la o distanță de web-servere cu înregistrarea automată.
2 Crearea de controale ActiveX pe baza componentelor VCL-
După cum sa arătat mai sus, C ++ Builder 3 permite crearea de controale ActiveX componente VCL bazate pe. În acest scop, utilizați Microsoft ATL bibliotecă (Active Template Library), care este în prezent standardul industriei și vă permite să creați controale ActiveX, care sunt compilate de cod și nu necesită suplimentare run-time-bibliotecă pentru punerea lor în aplicare. Procesul creării unui astfel de control este foarte simplu.
Pentru a crea un control ActiveX ar trebui să fie selectate din magazia obiecte ActiveX pagină și apoi - element de control ActiveX.
Următoarele se completează caseta de dialog:
Fig.1. Alegerea unui nume de ActiveX, nume de module și de bază VCL-Class
Este necesar să se aleagă VCL-component, pe baza cărora se creează controlul ActiveX. Ca un exemplu, vom alege TCalendar.
Ca rezultat al ActiveX Control Wizard pentru a crea mai multe module generat identificator unic (GUID) un viitor ActiveX, precum și biblioteca de tip corespunzător.
Fig.2. proiect de bibliotecă ActiveX în C ++ Builder
Biblioteca de tip conține informații despre proprietățile, evenimentele și metodele de control ActiveX, moștenit din original VCL-component.
Figura 3. Tipuri de biblioteci create de control ActiveX
Codul asociat cu punerea în aplicare a unui ActiveX, puteți găsi o descriere a acestor proprietăți și metode.
Aceasta este urmată de a salva și a compila proiectul și înregistrați controlul ActiveX în registru. Acest lucru se face prin selectarea elementului de meniu Run / Register ActiveX Server.
Apoi, puteți testa creat de ActiveX-componente, deschizându-l, de exemplu, în Visual Basic. Rețineți că acest lucru este cele mai recente instrumente de dezvoltare utilizarea pe scară largă controale ActiveX părți componente ca și produse din acestea prin intermediul aplicației; Visual Basic efectiv colectate în întregime din ActiveX-componente. Mai mult decât atât, caietul de sarcini ActiveX stabilit având în vedere că în primul rând Visual Basic și Visual C ++ (și doar apoi instrumentul de dezvoltare rămase) pot fi containere pentru aceste controale. Prin urmare, testarea comportamentului ActiveX în VisualBasic poate mai mult sau mai puțin garanția că alte mijloace de dezvoltare a acestui control se va comporta în același mod.
Puteți pune apoi ActiveX nostru pe un formular și să încerce să schimbe oricare dintre proprietățile sale, folosind în acest scop, fereastra „Properties“.
Figura 4. Testarea ActiveX în Visual Basic
Private Sub CommandButton1_Click ()
UserForm1.Show
end Sub
Acum puteți să faceți clic pe bara de instrumente „Visual Basic“ butonul „Exit Design Mode“. După aceea, faceți clic pe documentul creat în corpul butonului va avea ca rezultat într-o casetă de dialog pentru a configura controlul nostru.
S-ar putea, desigur, testa comportamentul unui ActiveX creat, încadrându-l într-o paletă de componente Delphi sau C ++ Builder. dar nu este cel mai bun mod de a testa - de fapt, baza pentru crearea ActiveX noastre este aceeași bibliotecă VCL, și că, în baza cererii dumneavoastră pentru testarea ActiveX. Utilizarea în acest scop, orice legătură cu instrumentele de dezvoltare VCL care pot utiliza controale ActiveX în aplicațiile, mai mult decât justificată. Trebuie remarcat faptul că Visual Basic pentru aplicații este cel mai frecvent mijloc de dezvoltare a acestei clase, ca parte din cele mai populare din țara noastră, suita de birou.
3 Creați pagini de proprietate
Deoarece controalele ActiveX pot fi utilizate în instrumente de dezvoltare, acestea au adesea un set de pagini de proprietate, care permite utilizatorilor să schimbe anumite proprietăți ale controlului.
Pentru a crea o pagină de proprietate, selectați magazia de obiecte și a paginii de ActiveX element de proprietate pagină. Rezultatul este o formă pe care să plaseze elementele de interfață.
Creați o pagină pentru proprietățile de editare și CalendarDate GridLineWidth. Pentru acest post pe formularul nou creat din două componente TStaticText și două componente tEditează.
Figura 5. Proprietăți pagină în etapa de proiectare
În forma creată a generat eveniment de stivuitoare prototipuri UpdatePropertyPage și UpdateObject. Adăugați-le în codul corespunzător:
Apoi, trebuie să creați un link către proprietățile paginii în modulul care descrie punerea în aplicare a controlului ActiveX. În acest scop, este necesar să se modifice modificarea codului h-fișier este de a insera o linie, indicând necesitatea de înregistrare a paginilor de proprietate:
Acesta ar trebui să includă, de asemenea, un link către pagina de proprietate h fișier în h-fișier punerea în aplicare ActiveX.
Aceasta este urmată de re-compila ActiveX DLL și înregistrați-l.
Dacă acum în mediul de dezvoltare Visual Basic pentru a pune pe un obicei forma ActiveX nostru și selectați pagina de proprietate „Special“, vom obține pagina create de noi:
Figura 6. pagina de proprietate ActiveX în faza de testare
Prin modificarea valorilor din componentele tEditează se poate observa că proprietățile sunt schimbate și elementul ActiveX corespunzător.
Figura 7. Rezultatul folosind pagina de proprietate
4 Crearea forme active
Forma activă - este un element de control ActiveX conține mai multe VCL-componente. Stabilirea unor astfel de controale se pot extinde în mod semnificativ gama disponibilă pentru funcționalitatea ActiveX. Crearea unei astfel de ActiveX are loc aproximativ la fel ca și crearea unei aplicații normale.
Să încercăm să creeze un simplu exemplu de astfel de control. Pentru ao crea, selectați pagina cu obiect ActiveX depozit ActiveForm, răspunde la întrebări cu privire la numele componentei, și apoi în formă proiectantul obține un formular gol - martor viitor ActiveX. Adăugați la acest formular componente TCheckBox, TButton, TImage și TOpenPictureDialog.
Figura 8. Forma activă a fazei de proiectare
Să creeze manipulare eveniment asociate cu TCheckBox și TButton:
Acum puteți compila aplicația pentru a înregistra ActiveX creat și testați-l în modul de mai sus.
Figura 9. Testarea formei active în Visual Basic
Puteți testa, de asemenea, generat ActiveX c prin afișarea în Internet Explorer. În acest scop, puteți selecta meniul Project / Web implementare Opțiuni în pagina de proiect în domenii dir țintă, URL-ul țintă, HTML dir acest dialog pentru a specifica numele unui director local.
Puteți alege apoi opțiunea de proiect / Web Implementați și Deployment Wizard Web pentru a deschide la sfârșitul lucrării în Internet Explorer generate automat C ++ Builder pagina HTML nume c care se potrivește cu numele proiectului creat:
Figura 10. Testarea formei active în Internet Explorer
Figura 11. Setarea ActiveX opțiune de livrare prin Internet
În plus, ar trebui să acorde o atenție la mai multe „pachete“ sau alte fișiere care urmează să fie incluse în livrare, în cazul în care opțiunile de proiect sunt de așa natură încât necesită utilizarea unor biblioteci suplimentare. diviziune ActiveX în mai multe fișiere, precum și selectarea de pachete individuale pot fi utilizate pentru a reduce global ActiveX timpul de descărcare de peste Internet, de exemplu, în cazul necesității viitoare de a actualiza versiunea de ActiveX sau de a furniza mai multe ActiveX diferite - în acest caz, o parte din „pachetul“ poate fi set o dată, și apoi a produs o mică aprovizionare a unei părți substanțiale a controlului ActiveX. Cu toate acestea, nu este interzis să creeze ActiveX într-un singur fișier. Rețineți, de asemenea că, atunci când selectați Include compresie de fișiere CAB poate fi folosit pentru a colecta fișiere într-un singur fișier cu extensia * .cab, este de fapt un fișier, care reduce, de asemenea, de două ori despre fișierele de descărcare de pe Internet.
Trebuie remarcat faptul că, în formele active pot fi folosite aproape toate componentele C ++ Builder, cu excepția TMainMenu. De asemenea, este posibilă generarea dinamică a formelor suplimentare la rulare, cu forme suplimentare, nu vor mai fi incluse în container și va fi formele convenționale de Windows (și, desigur, pot conține inclusiv TMainMenu).
In concluzie, prin editarea biblioteca de tip, este posibilă adăugarea de proprietăți ActiveX create și apoi descrie tehnici și implementarea acestora în modulul respectiv.