Delphi – Kreiranje OLE objekata

Verovatno, najinteresantnija tehnika za deljenje dokumenata u razliฤitim Windows aplikacijama, je OLE – Object Linking and Embedding (povezivanje i ugraฤ‘ivanje objekata). Pomoฤ‡u ove tehnike korisnici mogu da kombinuju dokumente kao objekte na razliฤite naฤine. Na primer, u MS Word dokument moลพete ugraditi sliku kreiranu u CorelDraw-u, ลกto znaฤi kombinacija dve aplikacije potpuno razliฤitih proizvoฤ‘aฤa. Jedna od naprednih moguฤ‡nosti je i pristup objektima u drugim programima, to ฤ‡emo i prikazati u primeru vezivanja za MS Word. OLE tehnici su istovremeno potrebna dva programa – klijent (nazvan i OLE kontejner) i server (obezbeฤ‘uje komande za manipulaciju podacima).

Kreiraฤ‡emo OLE objekat za MS Word, kojim ฤ‡emo pozivati odreฤ‘ene metode za pisanje i formatiranje teksta. Otvoriฤ‡emo novi projekt u Delphi-ju i u uses deklaraciju dodaฤ‡emo:


implementation
uses ComObj;

Ovim ฤ‡e nam biti omoguฤ‡en poziv funkcije „CreateOleObject“ iz programskog modula „ComObj“:


function CreateOleObject (const
ClassName:string): IDispatch;

„ClassName“ predstavlja naziv klase registrovane u bazi Registry, u naลกem primeru biฤ‡e „Word.Document“, a „IDispach“ predstavlja tip objekta koji vraฤ‡a ova funkcija, ovaj objekat se obiฤno dodeljuje promenljivoj tipa Variant.

U naลกem primeru preko funkcije CreateOleObject kreiraฤ‡emo objekat tipa „Word.Document“ tako ลกto ฤ‡emo pozivati metode i procedure Visual Basic-a koji je ugraฤ‘en Microsoft-ove aplikacije. Postavite na praznu formu jedno komandno dugme i upiลกite sledeฤ‡i kod:


implementation
uses:ComObj;

Procedure TMainForm.Button1Click(Sender: TObject);
var
varijabA, varijabB: Variant;
begin
varijabA := CreateOleObject(‘ Word.Document ‘);
varijabB := varijabA.Range (0, 0);
varijabB.InsertBefore ( ‘Tekst napisan
Delphijevim OLE objektom’ );
varijabB.InsertParagraphAfter;
varijabA.SaveAs(‘C:OLEObjekt.doc’);
end;


Iskompajlirajte naลก projekt, obavezno pokrenite MS Word i pokrenite naลก OLE programฤiฤ‡. Pritisnite Button1 i u Word-u ฤ‡e se kreirati nov dokument, u koji ฤ‡e se ispisati reฤenica navedena izmeฤ‘u jednostrukih navodnika, potom ฤ‡e se isti dokument (.doc) snimiti na vaลก disk u root folder.

Pratite Krstaricu na www.krstarica.com