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.
OLE: Pojęcia podstawowe<br />
Programowanie składnikowe<br />
w modelu COM<br />
Jarosław Francik<br />
czerwiec 2002<br />
OLE: Object Linking<br />
and Embedding<br />
• OLE – technologia polegająca <strong>na</strong> tworzeniu<br />
złożonych dokumentów<br />
• Przez pewien czas OLE było zbiorczą <strong>na</strong>zwą<br />
technologii z<strong>na</strong>nej obecnie jako COM<br />
• Dokument złożony (compound document)<br />
• Łączenie (linking) – dokument włączony<br />
z<strong>na</strong>jduje się w oddzielnym pliku<br />
• Osadzanie (embedding) – dokument osadzony<br />
jest przechowywany w obrębie dokumentu<br />
złożonego (w magazynie IStorage)<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
OLE: Pojęcia podstawowe<br />
• Kontener (container) – aplikacja obsługująca<br />
dokumenty złożone; klient<br />
• Serwer OLE –serwer udostępniający dokumenty<br />
osadzane lub łączone<br />
• Miniserwer OLE – serwer wewnątrzprocesowy,<br />
nie występuje jako osob<strong>na</strong> aplikacja<br />
(oferuje wyłącznie dokumenty osadzane)<br />
• Pełny serwer OLE (full server) – serwer<br />
zewnątzprocesowy<br />
Osadzanie (embedding)<br />
• Struktura obiektu magazynowego (IStorage)<br />
podsumowanie<br />
dokumentu<br />
root storage<br />
dokument<br />
MS MS Word<br />
arkusz<br />
kalkulacyjny<br />
pula pula obiektów<br />
magazyn obiektów osadzonych<br />
cache<br />
prezentacji<br />
CLSID<br />
Excel’a<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
kontener OLE<br />
obiekt<br />
kliencki<br />
(client site)<br />
Osadzanie (embedding)<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
stro<strong>na</strong> kontenera (klienta)<br />
IOleClientSite<br />
IAdviceSink<br />
IOleClientSite –udostępnia<br />
serwerowi sterowanie<br />
kontenerem<br />
SaveObject –zapisuje<br />
obiekt<br />
ShowObject –wymusza<br />
wyświetlenie obiektu<br />
RequestNewObjectLayout<br />
IAdviceSink –ujście<br />
różnego rodzaju notyfikacji<br />
OnDataChange<br />
OnViewChange<br />
OnRe<strong>na</strong>me<br />
OnSave<br />
OnClose<br />
IOleObject<br />
IRun<strong>na</strong>bleObject<br />
IDataObject<br />
IPersistStorage<br />
IOleCache2<br />
IOleCacheControl<br />
IViewObject2<br />
Osadzanie (embedding)<br />
stro<strong>na</strong> serwera<br />
serwer OLE<br />
data<br />
cache<br />
obiekt<br />
zawartości<br />
(content<br />
object)<br />
Institute of Informatics, Silesian University of Technology, Gliwice, Poland<br />
1