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