|
Pierwowzorem tej idei jest COM (ang. Component Object Model), COM+, DCOM. COM zapewniał niezależność języka programowania, lecz .NET wprowadza integracje języka.
Czym jest COM?
Rozwinięciem angielskiego skrótu COM jest nazwa
Component Object Model
(obiektowy model komponentów). Jest to specyfikacja firmy Microsoft, która w założeniu dotyczy tworzenia obiektów wielokrotnego użytku, niezależnie od języka programowania.
Aby zrozumieć ActiveX
, musisz poznać COM. Postaram się zwięźle Ci to wytłumaczyć. Otóż firma Microsoft stworzyła model obiektów, które wykorzystywane mogą być w każdym środowisku programistycznym Windows. Wynikiem powstania obiektu COM jest kontrolka - plik binarny z rozszerzeniem .ocx. Kontrolka taka może być wykorzystana zarówno w Delphi, jak i Visual C++, C++ Builder czy Visual Basic.
Na razie obiekty COM są jedynie obiektami działającymi w różnych środowiskach Windows i niemożliwe jest wykorzystanie ich poza tym systemem.
Kontrolka w rozumieniu COM
Na typ etapie będę używał słowa "kontrolka" w znaczeniu obiektu COM. Można powiedzieć, że obiekty COM są takim uniwersalnym komponentem, podobnym do biblioteki
DLL
. Raz utworzona kontrolka może być wykorzystywana wiele razy, przez wielu programistów oraz w różnych środowiskach programowania. Jeżeli ktoś już napisał kontrolkę spełniającą daną funkcję, to po co wyważać otwarte drzwi i tworzyć jeszcze raz to samo? Przykładem może być przeglądarka WWW. Napisanie programu analizującego kod HTML jest niezwykle czasochłonnym i żmudnym zadaniem. Niekiedy jednak w naszym programie konieczne staje się wyświetlenie jakiegoś dokumentu w formie strony WWW. Dzięki technologii COM i ActiveX (o ActiveX powiemy nieco później) możemy zaimportować udostępnione przez twórców przeglądarki obiekty COM i wykorzystać je w Delphi w bardzo prosty sposób.
Odrobinę historii
COM jest technologią stosunkowo nową, bo powstałą kilka lat temu. Wprowadzenie jej miało na celu stworzenie jednolitego standardu komunikacji, tak aby np. (by jeszcze raz posłużyć się powyższym przykładem) programiści mogli korzystać z możliwości przeglądania stron WWW w swoich aplikacjach. Firma Microsoft wyszła naprzeciw temu zadaniu i utworzyła moduł obiektów (COM), który umożliwia udostępnianie innym aplikacjom swoich metod.
ActiveX
ActiveX to technologia oparta na COM. Pozwala na tworzenie kontrolek .ocx lub .dll. Tak naprawdę ActiveX to obiekt COM, tyle że posiadający własny interfejs dostępny na poziomie projektowania. Wygląda to w ten sposób, że tworzony jest zwykły formularz VCL, będący w rzeczywistości kontrolką ActiveX. Można korzystać ze wszystkich komponentów i, ogólnie rzecz biorąc, projektowanie jest łatwiejsze niż w przypadku zwykłych obiektów COM.
Dodatkowo ActiveX pozwala na wygenerowanie kodu pozwalającego na umieszczenie aplikacji na stronie WWW.
Więcej na temat tworzenia kontrolek COM/ActiveX oraz wykorzystania ich w aplikacjach, znajdziesz w 13. rozdziale książki
Delphi 7. Kompendium programisty, wyd. Helion 2003.
Platforma .NET jest następcą COM, która zakłada integralność pomiędzy programami. Do tej pory programiści mogli budować osobne kontrolki mogące zostać później wykorzystane w innych aplikacjach. Wiązało się to z rejestracją tej kontrolki, dodawaniem odpowiednich wpisów w rejestrze Windows. W .NET komunikacja pomiędzy programami będzie ułatwiona i dany program będzie mógł dziedziczyć z klasy z innej aplikacji, obsługiwać wyjątki innej aplikacji itp.
|
|
|