30.03.2017 Views

Excel_VBA_manual

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Error! Not a valid link.<br />

Sl. 3.1.1 Kreiranje .EXE programa<br />

3.2 Biblioteke za dinamičko povezivanje (DLL)<br />

Biblioteka za dinamiĉko povezivanje (Dynamic Link Library – DLL) je kod smješten u datoteci sa<br />

.DLL ekstenzijom. DLL nije izravno izvodiv pa se poziva ili iz izvršnog programa ili iz drugog<br />

DLL-a.<br />

Postoje dva tipa DLL-a:<br />

DLL koji sadrži kod<br />

DLL koji sadrži samo resurse.<br />

Kod koji se nalazi u DLL-u napisan je ili u obliku funkcija ili u obliku C++ klasa. Prije pozivanja<br />

funkcija i korištenja klasa koje su dio DLL-a iz neke aplikacije, DLL treba biti uĉitan u memoriju.<br />

Tada se te funkcije i klase ponašaju kao da su dio same aplikacije.<br />

3.2.1 Načini učitavanja DLL u memoriju<br />

DLL se može uĉitati u memoriju na dva naĉina: statiĉki i dinamiĉki.<br />

Statiĉko uĉitavanje: prilikom pokretanja aplikacije koja poziva DLL, DLL se automatski uĉita u<br />

memoriju. Prednost ovakvo naĉina pozivanja DLL-a je njegova jednostavnost, a nedostatak je u<br />

tome da ako program ne uspije ispravno pozvati DLL, program se neće moći ni pokrenuti.<br />

Dinamiĉko uĉitavanje: DLL se uĉitava u memoriju tek kad aplikacija zatreba neku njegovu klasu<br />

ili funkciju, a kada prestane njegova uporaba DLL se briše iz memorije. Prednost ovakvog naĉina<br />

je bolje iskorištenje memorijskog prostora, pa se zbog toga aplikacija brže pokreće, a glavni<br />

nedostatak ovakvog postupka je dodatan posao za programera (uĉitavanje DLL-a sa LoadLibrary<br />

i oslobaĊanje memorije nakon njegove upotrebe sa FreeLibrary).<br />

38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!