Delphi – Kreiranje OLE kontejnera

U jednom od prethodih priloga pisali smo o kreiranju OLE objekata uz pomoć Delphi-ja. Još jedna od mogućnosti OLE tehnike je kreiranje OLE kontejnera. OLE kontejner predstavlja klijentski objekat u vašoj aplikaciji, koji se povezuje sa OLE serverom (neka druga aplikacija). Ovo u suštini praktično znači, da u vaš program recimo možete da ugradite OLE kontejner koji može da učitava, obrađuje i snima Microsoft Word dokumente. U ovom slučaju će Microsoft Word biti OLE server. Ova mogućnost predstavlja veliko olakšanje za programere, jer recimo svakoj vašoj aplikaciji možete da dodate modul (OLE kontejner) za obradu teksta.

Pa, da pređemo sa reči na delo i izgradimo jedan OLE kontejner. Komponenta uz pomoć koje ćemo napraviti kontejner je „OleContainer„, koja se nalazi na paleti „System“. Prvo što treba da uradimo je da definišemo šta nam je sve potrebno u aplikaciji:

  • OLE kontejner (za svaki objekat u kontejneru).
  • Komponenta „MainMenu“.
  • Opcione komponente „Panel“ za paletu alatki i statusnu liniju.
Ako postavimo i komponente za palete alatki, server će moći da ubaci sopstvene palete alatki (Word će recimo ubaciti paletu „Standard“ i „Formatting“). Da bi server koristio komponentu „Panel“, moraćemo svojstvo „Align“ ove komponente postaviti na: alBottom, alLeft, alRight ili alTop, te svojstvo Locked mora imati vrednost False. Pored prethodno navedenog, preporučljivo je da kreirate i MDI interfejs, iz razloga što će korisnici programa moći da, u prozorima „potomcima“, kreiraju nove dokumente servera.

Krenimo sa radom u Delphi-ju, pokrenite Delphi i otvorite novi projekt:

  1. Na praznu formu postavite komponetnu „OleContainer“, sa palete „System“
  2. Dodajte komponentu „MainMenu“ sa palete „Standard“, te dodajte menije „Dokument“ i „Uredi“.
  3. Kliknite dvostruko na komponentu menija i dodajte za prvu stavku podmeni „Izlaz“, a u drugu „Ubaci objekt“.
  4. Kada ste kreirali menije, izaberite meni „Dokument> Izlaz“ i dodajete samo komandu „Close;“, radi zatvaranja programa.
  5. Potom izaberite meni „Uredi> Ubaci objekt“ i u „Unit“ ubacite sledeći programski kod:


    procedure TForm1.Ubaciobjekt1Click(Sender: TObject);
    begin
    with OleContainer1 do
    begin
    if InsertObjectDialog then
    DoVerb(PrimaryVerb);
    end;
    end;

To je sve što je potrebno za izradu programa koji će moći da otvori dokument bilo kog OLE servera. Pokrenite program i izaberite meni „Uredi> Ubaci objekt“ (kao na slici). Otvoriće se dijalog za izbor objekta „InsertObjectDialog“, u kom možete da izaberete vrstu servera. Kao što vidite na slici, mi smo iz liste „Object Type“ izabrali „Microsoft Word Documet“ i otvorio se novi Word dokument u našem programu.

Pratite Krstaricu na www.krstarica.com