Mungkin Yang Anda Cari Ada di Sini

Sabtu, 02 Oktober 2010

Menambahkan form pada DLL



Dynamic Link Library atau DLL merupakan file yang berisi rutin (procedure dan function) yang dapat dipanggil dari file EXE maupun dari file DLL lain. Dengan meletakkan rutin-rutin pada file DLL (terpisah dari file EXE) maka terdapat beberapa keuntungan.


Pertama, rutin-rutin yang bersifat umum dapat dipakai oleh beberapa aplikasi pada saat yang bersamaan dan hanya diperlukan satu copy di memory atau disk. Anda dapat mengatur supaya rutin-rutin yang terdapat pada DLL tersebut dimuat ke memory hanya saat diperlukan saja. Jika tidak diperlukan maka DLL tersebut dapat dibuang dari memory. Dengan demikian aplikasi yang Anda buat dapat lebih menghemat penggunaan memory.

Keuntungan kedua, aplikasi menjadi bersifat modular. Anda dapat melakukan update aplikasi yang Anda buat tanpa harus mengupdate file EXE. Dengan demikian Anda cukup menyertakan patches kepada program Anda tanpa Anda harus menyertakan seluaruh aplikasi.

Keuntungan lain adalah ukuran file EXE menjadi lebih kecil karena beberapa kode program diletakkan pada file DLL.


Membuat file DLL

Untuk membuat file DLL, caranya pilih menu File | New | DLL. Anda dapat menyimpan project tersebut dengan ProyekDLL.dpr.

Pada code editor dapat Anda perhatikan pada bagian paling atas terdapat klausa library. Hal ini menandakan bahwa proyek yang sedang dibuat adalah proyek file DLL. Selanjutnya tambahkan form dari menu File | New Form. Form tersebut harus ditambahkan ke dalam project, yaitu dengan memilih menu Projet | Add to Project dan pilih file unit dari Form (pada contoh ini adalah FormDLL.pas). Contoh DLL ini mempunyai dua method (satu procedure dan satu function) yang berfungsi untuk menampilkan form. Satu menggunakan Show dan satunya lagi menggunakan ShowModal.


procedure ShowFormDLL;stdcall;

begin
   frmFormDLL :=TfrmFormDLL.Create(nil);
   frmFormDLL.Show;
end;



Prosedur di atas, pertama kali akan membuat form. Parameter nil digunakan, karena kita tidak mengetahui siapa pemilik (owner) formnya. Selanjutnya form yang baru dibuat tersebut akan ditampilkan dengan menggunakan method Show.


Untuk menampilkan form secara modal caranya sedikit berbeda.



function ShowFormDLLModal:integer;stdcall;

begin
   frmFormDLL := TfrmFormDLL.Create(nil);
   Result := frmFormDLL.ShowModal;
end;



Perbedaan antara kode di atas dan kode sebelumnya adalah, bahwa kode di atas adalah function, sedangkan kode sebelumnya adalah procedure, kode di atas menggunakan ShowModal sedangkan kode sebelumnya menggunakan Show. Dengan menggunakan ShowModal Anda dapat mengetahui modal result dari form.


Pada kedua kode tersebut kita membuat form tapi tanpa pernah melakukan destroy, yang bisa mengakibatkan pemborosan memory (leaking memory). Oleh karena itu Anda perlu melakukan destroy pada form. Salah satu cara termudah adalah dengan menggunakan event OnClose dari form dan mengeset TCloseAction menjadi caFree.



procedure TfrmFormDLL.FormClose(Sender: TObject; var Action: TCloseAction);

begin
   Action := caFree;
end;


Langkah terakhir adalah melakukan eksport procedure ShowFormDLL dan function ShowFormDLLModal di atas sehingga dapat digunakan atau dipanggil oleh program lain.


Exports

   ShowFormDLL,
   ShowFormDLLModal;

begin
end.

Untuk membuat kode di atas menjadi file DLL Anda dapat memilih menu Project | Build.

Tidak ada komentar:

Posting Komentar

Subscribe via email

Enter your email address:

Delivered by FeedBurner

Related Posts Plugin for WordPress, Blogger...
web metrics