6 folii na stronÄ
6 folii na stronÄ
6 folii na stronÄ
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
A<strong>na</strong>tomia ActiveX<br />
A<strong>na</strong>tomia ActiveX<br />
Kontener<br />
IOleInPlaceFrame<br />
IOleInPlaceUIWindow<br />
IOleInPlaceSite<br />
IOleClientSite<br />
IAdviseSink<br />
IOleControlSite<br />
IDispatch<br />
IPropertyNotifySink<br />
IDispatch (events)<br />
• metody:<br />
– realizowane w postaci<br />
dispatch interfejsu<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
IOleInPlaceActiveObject<br />
IOleInPlaceObject<br />
IOleObject<br />
IRun<strong>na</strong>bleObject<br />
IDataObject<br />
IViewObject2<br />
IOleCache2<br />
IPersistStorage<br />
IPersistStreamInit<br />
ISpecifyPropertyPages<br />
IConnectionPointContainer<br />
IConnectionPoint<br />
IProvideClassInfo2<br />
IDispatch<br />
IOleControl<br />
Kontrolka<br />
ActiveX<br />
Kontener<br />
IOleInPlaceFrame<br />
IOleInPlaceUIWindow<br />
IOleInPlaceSite<br />
IOleClientSite<br />
IAdviseSink<br />
IOleControlSite<br />
IDispatch<br />
IPropertyNotifySink<br />
IDispatch (events)<br />
IOleInPlaceActiveObject<br />
IOleInPlaceObject<br />
IOleObject<br />
IRun<strong>na</strong>bleObject<br />
IDataObject<br />
IViewObject2<br />
IOleCache2<br />
IPersistStorage<br />
IPersistStreamInit<br />
ISpecifyPropertyPages<br />
IConnectionPointContaine<br />
• zdarzenia:<br />
– po stronie kontrolki:<br />
punkty kontrolne<br />
(connection points),<br />
informacja o typach<br />
IConnectionPoint r<br />
– po stronie kontenera: IProvideClassInfo2<br />
dy<strong>na</strong>micznie tworzony<br />
IDispatch<br />
Institute of dispatch Informatics, Silesian interfejs University of Technology, Gliwice, Poland IOleControl<br />
Kontrolka<br />
ActiveX<br />
A<strong>na</strong>tomia ActiveX<br />
A<strong>na</strong>tomia ActiveX<br />
Kontener<br />
• właściwości:<br />
– trwałość właściwości<br />
– obsługa w dispatch<br />
interface<br />
– property pages<br />
IOleInPlaceFrame<br />
IOleInPlaceUIWindow<br />
IOleInPlaceSite<br />
IOleClientSite<br />
IAdviseSink<br />
IOleControlSite<br />
IDispatch<br />
IPropertyNotifySink<br />
IDispatch (events)<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
IOleInPlaceActiveObject<br />
IOleInPlaceObject<br />
IOleObject<br />
IRun<strong>na</strong>bleObject<br />
IDataObject<br />
IViewObject2<br />
IOleCache2<br />
IPersistStorage<br />
IPersistStreamInit<br />
ISpecifyPropertyPages<br />
IConnectionPointContainer<br />
IConnectionPoint<br />
IProvideClassInfo2<br />
IDispatch<br />
IOleControl<br />
Kontrolka<br />
ActiveX<br />
Kontener<br />
IOleInPlaceFrame<br />
IOleInPlaceUIWindow<br />
IOleInPlaceSite<br />
IOleClientSite<br />
IAdviseSink<br />
IOleControlSite<br />
IDispatch<br />
IPropertyNotifySink<br />
IDispatch (events)<br />
IOleInPlaceActiveObject<br />
IOleInPlaceObject<br />
IOleObject<br />
IRun<strong>na</strong>bleObject<br />
IDataObject<br />
IViewObject2<br />
IOleCache2<br />
• interfejsy specyficzne:<br />
IPersistStorage<br />
– niewielkie interfejsy<br />
IPersistStreamInit<br />
ibejmujące<br />
ISpecifyPropertyPages<br />
funkcjo<strong>na</strong>lność<br />
IConnectionPointContainer<br />
IConnectionPoint<br />
nieobjętą przez<br />
IProvideClassInfo2<br />
pozostałe interfejsy<br />
IDispatch<br />
Institute of Informatics, Silesian University of Technology, Gliwice, PolandIOleControl<br />
Kontrolka<br />
ActiveX<br />
Podsumowanie<br />
• Kontrolki ActiveX w większości opierają się <strong>na</strong><br />
innych, z<strong>na</strong>nych technologiach (OLE,<br />
connection points, dispatch interfaces)<br />
• Peł<strong>na</strong> funkcjo<strong>na</strong>lność obejmuje <strong>na</strong> tyle dużą<br />
liczbę interfejsów, że w praktyce nigdy nie<br />
implementuje się ActiveX bez specjalizowanych<br />
<strong>na</strong>rzędzi<br />
• Ostatnie zdanie dotyczy w pewnym sensie całej<br />
technologii COM<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
2