Dostrzeżenie ograniczeń schowka [koniec lat 80-tych] OLE 1.0 [1991]

Podobne dokumenty
OLE: Pojęcia podstawowe

Programowanie składnikowe. Programowanie składnikowe w modelu COM. COM - Component Object Model. wprowadzenie. Programowanie składnikowe

Architektura składnikowa a architektura klient serwer. Programowanie składnikowe. Programowanie składnikowe w modelu COM

Technologie COM i ActiveX COM - Component Object Model

Komunikacja i wymiana danych

Kontrolka ActiveX Internet Explorer w aplikacji wizualizacyjnej InTouch

Dodanie nowej formy do projektu polega na:

Microsoft Interface Definition Language

Język programowania. Andrzej Bobyk

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Aplikacje w środowisku VBA. Visual Basic for Aplications

Zaawansowane aplikacje internetowe - laboratorium

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Opis. Wykład: 30 Laboratorium: 30

Król Łukasz Nr albumu:

Programowanie obiektowe

Programowanie obiektowe

Sterowniki urządzeń zewnętrznych w pracy lokalnej i sieciowej w programach firmy InsERT dla Windows

Programowanie MorphX Ax

Instrukcja instalacji Asystenta Hotline

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Konspekt pracy inżynierskiej

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

Integracja systemów sterowania i sterowanie rozproszone 5 R

16) Wprowadzenie do raportowania Rave

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

Podstawy programowania. Wprowadzenie

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

ActiveXperts SMS Messaging Server

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi.

4. Podstawowa konfiguracja

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Wymagania do zdalnej instalacji agentów firmy StorageCraft

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Instalacja pełnej wersji (development i/lub Windows runtime) oprogramowania Wonderware InTouch Machine Edition

Architektura systemu e-schola

Aplikacje Internetowe

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Praca w środowisku Visual Studio 2008, Visual C

Dokument Detaliczny Projektu

Programowanie obiektowe

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Luxriot VMS. Dawid Adamczyk

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Instrukcja do programu Roger Licensing Server v1.0.0 Rev. A

Użycie Visual Basic for Applications ("VBA")

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

1.1. Kontrolki ActiveX. Kontrolki ActiveX. Technologia ActiveX. Technologia ActiveX. Technologia ActiveX. Technologia ActiveX.

Asystent Hotline Instrukcja instalacji

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Ustalanie dostępu do plików - Windows XP Home/Professional

MentorGraphics ModelSim

PC0060. ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji. Instrukcja obsługi

Samsung Universal Print Driver Podręcznik użytkownika

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Wypożyczalnia VIDEO. Technologie obiektowe

Zaawansowane funkcje systemów plików. Ewa Przybyłowicz

Programowanie współbieżne i rozproszone

Geneza rejestru systemu Windows

METODY URUCHAMIANIA PROGRAMÓW JĘZYKA AutoLISP W ŚRODOWISKU AutoCAD

Dokument Detaliczny Projektu

Copyright by K. Trybicka-Francik 1

Kancelaria Prawna.WEB - POMOC

Excel z elementami VBA w firmie.

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

Ćwiczenie Zmiana sposobu uruchamiania usług

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Instrukcja do programu Roger Licensing Server v1.0.0 Rev. A

Obiekty w plikach wykonywalnych, marshaling

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Programowanie Obiektowe GUI

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Visual Basic w programie Excel

Krzysztof Kadowski. PL-E3579, PL-EA0312,

System zarządzający grami programistycznymi Meridius

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

Voicer. SPIKON Aplikacja Voicer V100

Asix.Evo - Uruchomienie aplikacji WWW

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

Transkrypt:

1 OLE Dostrzeżenie ograniczeń schowka [koniec lat 80-tych] OLE 1.0 [1991] Object Linking & Embedding osadzanie obiektów w dokumentach dokumenty jako kontenery obiektów OLE 2.0 [1993] COM - Component Object Model wielokrotne użycie kodu skompilowanego do postaci komponentów

2 OLE Składowe: Component Objects i Component Object Model Compound Files Monikers Uniform Data Transfer Automation Drag & Drop Embedding Linking In-Place Activation

3 Component Object Model (COM) System tworzenia binarnych komponentów niezależny od platformy i języka programowania rozproszony obiektowo zorientowany Interfejsy grupy metod identyfikowane nazwą z przedrostkiem I dostępne w postaci wskaźnika IUnknown, QueryInterface()

4 Component Objects Obiekty serwer klasy o podanej nazwie jest automatycznie lokalizowany przez COM (na podstawie wpisów w rejestrze) serwer tworzy obiekt i zwraca wskaźnik do interfejsu COM odpowiada za komunikację z obiektem (być może w innym procesie, na innej maszynie) Komponenty dzielone wielokrotnego użytku

5 Monikers Specjalny typ obiektu (component object) do zarządzania abstrakcyjnymi referencjami innych obiektów informacje niezbędne do zlokalizowania lub stworzenia obiektu (szczególnie istotne w przypadku połączeń sieciowych) kod tworzący na podstawie tych informacji rzeczywisty obiekt Podstawowe implementacje monikerów są dostarczane przez OLE, można tworzyć własne Interfejs IMoniker

6 Compound Files Pliki ze strukturalną zawartością ( file system within a file ) storage objects - funkcje podkatalogów [IStorage] stream objects - funkcje pojedynczych plików [IStream] Cechy: incremental access - zarządzanie zmianą objętości pojedynczych strumieni w obrębie obiektu obsługa transakcji - zapis obiektu na dysku dopiero po zatwierdzeniu transakcji łatwy dostęp do poszczególnych strumieni jako tablicy bajtów odzyskiwanie nieużywanego miejsca

7 Uniform Data Transfer Mechanizm wymiany danych połączenie źródła danych z ich odbiorcą Cechy: wykorzystanie data objects [IDataObject] bogaty opis danych (znacznie większy niż w przypadku schowka) niemal dowolne dane (plik, compound file, strumień, obiekt GDI, globalna pamięć) niezbyt wydajne w przypadku danych wielkich rozmiarów lub o bardzo skomplikowanej strukturze wykorzystywany w schowku, DDE, OLE Drag and Drop, dokumentach OLE

8 OLE Drag and Drop Inny sposób wymiany danych Źródło danych dostarcza obiekt danych implementuje IDropSource dla pewnych obiektów (np. dokumentów aplikacji) Odbiorca danych implementuje IDropTarget dla pewnych obiektów i rejestruje to w OLE Cały mechanizm obsługi łapania lewym przyciskiem myszy, przeciągania i puszczania jest obsługiwany przez OLE

OLE Automation Pozwala na dostęp z zewnątrz do metod i właściwości aplikacji automation server - aplikacja automation client - np. zewnętrzny program wykorzystujący funkcjonalność aplikacji automation object - dowolny obiekt udostępniany przez aplikację [IDispatch] Możliwości: tworzenie aplikacji i narzędzi programistycznych udostępniających obiekty tworzenie i manipulowanie obiektami stworzonymi w innej aplikacji tworzenie narzędzi do manipulowania udostępnianymi obiektami 9

10 OLE Documents Mechanizm dzielenia danych pomiędzy aplikacjami serwer definiuje obiekt (dane, sposób wyświetlania, właściwości edycyjne) kontener daje miejsce, w którym obiekt będzie umieszczony i wyświetlony Aplikacje nie muszą znać siebie nawzajem - wszystkim zarządza OLE dzielone dane zawierają wszystkie dane potrzebne do ich stworzenia (także identyfikator klasy serwera) Aktywacja dokumentu w kontenerze in-place activation embedded linked

11 Embedding and Linking Embedding wszystkie dane potrzebne do aktywacji i wyświetlenia obiektu są zawarte w dokumencie OLE wykorzystywany dla niedużych obiektów Linking tylko referencja do obiektu dane istnieją w innym miejscu niż kontener jeśli obiekt ma wiele referencji, to modyfikacja z jednego kontenera oddziałuje na pozostałe Nie ma różnic funkcjonalnych

12 In-Place Activation Umożliwia wyświetlenie narzędzi edycyjnych dotyczących obiektu (np. menu, pasków narzędzi) serwer umieszcza swoje narzędzia edycyjne w kontekście kontenera wymaga obsługi po stronie kontenera i obiektu ukierunkowanie na dokument, a nie na aplikację Kontener IOleInPlaceFrame, IOleInPlaceUIWindow, IOleInPlaceSite jeśli kontener nie obsługuje in-place activation, obiekt zostanie osadzony standardowo Obiekt IOleInPlaceObject, IOleInPlaceActiveObject

13 Osadzanie dokumentów OLE w.net Kontrolka ActiveDocumentHost zapowiadana w.net Framework 2.0, ale usunięta po testach Kontrolka WebBrowser [2.0] wykorzystuje kontrolkę ActiveX IE Browser Kontrolka ActiveX DSOFramer http://support.microsoft.com/?id=311765 brak wsparcia firmy Microsoft

14 Obsługa błędów HRESULT typ zwracany przez większość funkcji COM najstarszy bit określa wynik operacji (sukces lub porażka) makra sprawdzające wynik: SUCCEEDED() FAILED() makra dające dostęp do składowych HRESULT: HRESULT_CODE HRESULT_FACILITY HRESULT_SEVERITY interfejsy wykorzystywane w obsłudze błędów: ICreateErrorInfo, IErrorInfo, ISupportErrorInfo

15 DCOM - Distributed COM Obsługa komunikacji pomiędzy obiektami umieszczonymi na różnych komputerach LAN (local area network) WAN (wide area network) Internet Windows NT 4.0, 9x Cechy: niezależność od umiejscowienia duża liczba małych komponentów zwiększa ruch w sieci, mała liczba dużych komponentów zmniejsza elastyczność niezależność od języka programowania automatyczne sprawdzanie trwania połączenia skalowalność

16 COM+ Powiązanie Component Object Model i Microsoft Transaction Server Wymagania serwera: 1.0: Windows 2000 1.5: Windows XP, Windows 2003 Server Wymagania klienta: Windows NT, 98

17 ActiveX Zbiór technologii umożliwiających współdziałanie komponentów w środowisku sieciowym Wykorzystywany na stronach internetowych i w aplikacjach Przedstawiony w marcu 1996 roku pod hasłem Activate the Internet powszechnie używany w celach marketingowych Synonim OLE rozszerzenie OLE na Internet, komercyjny intranet oraz aplikacje i narzędzia ich tworzenia

18 ActiveX Control Komponent może być wykorzystany w aplikacjach i na stronach WWW wielokrotnego użytku binarny (skompilowany w dowolnym języku) implementujący interfejs IUnknown implementujący funkcje DllRegisterServer() i DllUnregisterServer Synonimy: OLE control, OCX control Ogromny zbiór istniejących kontrolek dostępnych dla programistów

19 Tworzenie MFC - Microsoft Foundation Classes Library [C++] obiektowa biblioteka dostępu do funkcji API ze zbiorem własnych klas pomocniczych tworzone kontrolki są stosunkowo małe, ale do uruchomienia wymagają biblioteki MFC BaseCtl [Visual Basic] bardzo trudne tworzenie kontrolek ActiveX wymagające dużej wiedzy o COM najmniejszy z możliwych rozmiar kontrolek ATL - ActiveX Template Library [C++] biblioteka stworzona specjalnie dla kontrolek ActiveX bardzo małe i szybkie kontrolki potrzeba głębszej wiedzy o COM niż w przypadku MFC

Wykorzystanie w aplikacjach 20 IDD_DATA_DIALOG DIALOGEX 0, 0, 244, 121... BEGIN DEFPUSHBUTTON "OK",IDOK,187,7,50,16 PUSHBUTTON "Cancel",IDCANCEL,187,25,50,16 CONTROL "",IDC_CALENDAR1, "{8E27C92B-1264-101C-8A2F-040224009C02}", WS_TABSTOP,7,7,173,111 END

Wykorzystanie na stronach WWW Kontrolka ActiveX jest uruchamiana przy wyświetleniu strony 21 <OBJECT id="calendar1" classid="clsid:8e27c92b- 1264-101C-8A2F-040224009C02"> <PARAM NAME="Year" VALUE="2003"> <PARAM NAME="Month" VALUE="5"> <PARAM NAME="Day" VALUE="12"> </OBJECT>

22 Kontener Środowisko, w którym kontrolka może zostać uruchomiona Dostęp do wszystkich metod, właściwości i zdarzeń bez obowiązku implementowania wszystkich składowych

23 Rejestracja Autorejestracja DllRegisterServer() - tworzy wpisy w rejestrze Windows dla wszystkich klas zawartych w module DllUnregisterServer() - usuwa wszystkie wpisy w rejestrach dodane przez DllRegisterServer() regsvr32.exe wykorzystuje autorejestrację kontrolki

24 Właściwości Cechy kontrolki, które mogą być ustawiane podczas jej pracy Property sheet - okno dialogowe z zakładkami dającymi dostęp do property page ściśle określony sposób definiowania IPropertyPage, IPropertyPage2 ISpecifyPropertyPages IPropertyPageSite wygląd niezależny od kontenera dwa standardowe rozmiary Okno z właściwościami jest dostępne dla użytkownika uruchamiającego kontrolkę

25 Metody Dowolne zaimplementowane przez twórców kontrolki funkcjonalność kontrolki Standardowe metody, które mogą być obsługiwane przez kontrolkę: Refresh() DoClick() AboutBox()

26 Zdarzenia Rodzaje zdarzeń: request - zapytanie o pozwolenie wykonania metody before - powiadomienie przez akcją after - powiadomienie po akcji do - pozwala na zmianę akcji, która ma zostać wykonana Standardowe zdarzenia, które mogą być obsługiwane przez kontrolkę: Click, DblClick, MouseMove, MouseUp KeyDown, KeyPress, KeyUp Error

27 Bezpieczeństwo Kontrolka ActiveX jako obiekt COM może wszystko - jest uruchamiana bez ograniczeń Cyfrowy podpis kontrolki - certyfikat bezpieczeństwa Licencje design-time - używana przez kontener, weryfikuje licencję dla programistów wykorzystujących kontrolkę run-time - weryfikacja licencji podczas uruchomienia kontrolki