Membuat File Dynamic Link Library (*.DLL) Menggunakan Borland Delphi



dokumen-dokumen yang mirip
Pengenalan Borland Delphi 7.0

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 PROCEDURE DAN FUNCTION

Minggu ke : 4 Penyusun : Dian Usdiyana Rini Marwati Materi : 4. Pernyataan Kondisional 4.1 If then. 4.2 If. then.else..

PROSEDUR. Mahasiswa dapat memahami penggunaan prosedur. Mahasiswa dapat membuat prosedur. Mahasiswa dapat memahami variabel lokal dan variabel global

Membuat Server pada Windows 2003 Server

Modul I Mengenal Pemrograman Delphi

URAIAN POKOK PERKULIAHAN

Modul I Mengenal Pemrograman Delphi

For <pencacah> := <nilaiawal> to <nilaiakhir> do <pernyataan>

Minggu ke : 7. Bentuk umum : While <kondisi> do <Pernyataan>

PEMROGRAMAN DATABASE DENGAN DELPHI DAN MICROSOFT ACCESS

URAIAN POKOK PERKULIAHAN. (1) Nilai akar-akar, x 1 dan x 2, dapat ditentukan dengan menggunakan rumus:

URAIAN POKOK PERKULIAHAN

MODUL 2 EVEN, VARIABEL DAN FUNGSI KONVERSI

PRAKTIKUM 1 2 MENGENAL DELPHI

STRUCTURED QUERY LANGUAGE (SQL)

1 Latihan 6 Ketentuan Soal:

Bahasa Pemrograman (TD22093)

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 LOGIKA PERULANGAN-1

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA

Visual Delphi 7 D3 TI FMIPA UNS Sakroni

PROSEDUR DENGAN PARAMETER. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

FieldName DataType FieldSize Status UserPass Text 40 Primary Key Nama_User Text 30 Password Text 10

Elga Lesmana

PEMROGRAMAN DASAR XI TKJ SMK NEGERI 1 KUPANG

Mengenal pemrograman multithread dengan Delphi 7

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 STRUKTUR KEPUTUSAN-1

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA (Integer dan Real)

Borland Delphi 7. Created By 1

PERCOBAAN I STATEMENT

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 TIPE DATA DAN VARIABEL

LANJUTAN APLIKASI DATABASE

Algoritma Pemrograman A

Pengenalan Lingkungan Delphi

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ExtDlgs, TeeProcs, TeEngine, Chart,

Delphi 7. Merencang Program dengan Fungsi IF. Ketentuan Soal : 1. Jabatan : JABATAN GAJI POKOK Direktur Manager Staff

Object Name Caption. RadioButton1 rpria Pria RadioButton2 rwanita Wanita. ComboBox1 ckode - Edit1 enapar - Edit2 ehrg - Edit3 ejumbel - Edit4 etotal -

1. Menggambar ANAK PANAH. Setelah kita RUN dan saya klik button ANAK PANAH maka akan muncul gambar anak panah seperti nampak pada gambar dibawah ini

BAB II LANDASAN TEORI

PERCOBAAN 4 GRAFIKA KOMPUTER DENGAN DELPHI

Pengenalan IDE Delphi. 1 By : Eko Budi Setiawan

ALGORITMA PENCARIAN. c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian.

Praktikum Pemrograman 1. Mengenal Delphi

Kontrol Data Set dan Navigasi Tabel

LAMPIRAN A: LISTING PROGRAM

LANJUTAN APLIKASI DATABASE

MEMBUAT APLIKASI DESKTOP DENGAN DATABASE ORACLE. UNIKOM (2010) Disusun Oleh : Andri Heryandi, M.T.

Dede Kurniadi

Kodingan untuk Membuat Grafik dari Persamaan Garis Lurus dan Kuadrat Menggunakan Delphi 7

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type

4.1 Struktur Rancangan Puncak-Turun dengan Procedure

Lampiran 1. Form 01. unit Skripsi; interface. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, math;

Yohanas auri yahoo.com

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Pemrogram Pem a rogram n Visual Delphi 7

Modul 1. A. Bagian-Bagian Utama Delphi. Menu Utama. Toolbar / Speedbar ( kiri Delphi 5, kanan Delphi 7) Component Palette

Tutorial Lazarus Pemrograman Pascal Console, Visual dan Database Husni, husni.trunojoyo.ac.id, komputasi.wordpress.com

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

DAFTAR PUSTAKA. Choiron, Moch. Agus. (tanpa tahun). Interpolasi. Malang.

Daftar Pustaka. Supriyadi, Moh Pemrograman Sistem Pengendali dengan Delphi.

ricak.wordpress.com Component Name & Interface

MODUL I. A. Landasan Teori. Modul Praktimum Pemrograman Visual II D3 Manajemen Informatika UNIJOYO

LAPORAN PRAKTIKUM FISIKA KOMPUTASI INTERPRETASI GRAFIS INTENSITAS WARNA DASAR RGB PADA GAMBAR BITMAP MENGGUNAKAN DELPHI7

MODUL 1 IDE (Integrated Development Environment )

Pengantar Delphi (IDE Delphi ) & Konsep OOP

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

BAB II LANDASAN TEORI

BAB VIII Data Logging Tegangan melalui Komunikasi Serial

Identitas dosen POKOK BAHASAN. mendemonstrasikan tentang membuat project aplikasi dengan database access dengan benar (C3) Suherman,, ST Address

Visual Basic 6.0 For Beginners

Menggunakan grafik / chart pada Borland Delphi 7

MODUL IX PEMROGRAMAN DATABASE DENGAN DELPHI. Untuk praktikum ini kita menggunakan Ms. Access sebagai databasenya.

Citra dalam Delphi. Setelah mempelajari materi ini, mahasiswa diharapkan mampu:

SEM. 4 KOMUNIKASI DATA

Pertemuan -1 BORLAND DELPHI

LAMPIRAN A: DDL DATABASE

Membuat Aplikasi Form Windows Pertama Dengan C# (Visual Studio)

1. MENGENAL VISUAL BASIC

Cara Membuat Aplikasi Facebook dengan Visual Studio 2010

ANGKA TERBILANG. Program ini terdiri dari beberapa komponen yaitu:

BAB I SEKILAS VISUAL STUDIO.NET 2008

MODUL I. A. Instalasi Borland Delphi Buka file instalasi Borland Delphi Klik Run Program. 3. Klik Next

Mengenal Visual Basic Clasic. Agus Priyanto, M.Kom

PENGENALAN VISUAL BASIC NET

Bekerja dengan FORM dan EVENTS

PENDAHULUAN TENTANG NETBEANS

Pemrograman Visual (Borland Delphi 7.0)

DAFTAR PUSTAKA. Abdia, Gunaidi Away.2008.The Shortcut Of Delphi For ACCOUNTING.Bandung : Informatika.

GRAPHICS AND VISUALIZATION. Logo

Program Studi Teknik Mesin S1

MODUL I MENGENAL BORLAND C++ BUILDER

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic

Taufik Adi Sanjaya. Menampilkan file Pdf pada form Delphi, ( baca : Delphi 7 )

BAB V JOBSHEET 5. Antarmuka dengan Port Parallel (Input)

LAMPIRAN. Universitas Sumatera Utara

Universitas Ahmad Dahlan ---- Lingkungan Pemrograman Visual. Teknik Informatika

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

Memahami Proyek-Proyek Visual Basic dan Dasar-Dasar Visual Basic Code

Merancang Project. Form Module Class Module Report. Form 1, Form 2, Minimarket (NamaProject) Gambar 4.1 Flowchart Project Sistem Informasi Minimarket

Tampilan Program. Menambah dan mengatur property form di project. Menggunakan MDI Form dan MDI Child untuk membuat project

Transkripsi:

Membuat File Dynamic Link Library (*.DLL) Menggunakan Borland Delphi Dede Kurniadi Website : Blog : http://dedekurniadi.web.id E-mail : info@teknisoft.net teknisoftgarut@yahoo.com dede.kurniadi@gmail.com Sekilas Mengenai File Dynamic Link Library (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. 1

mulai Mari kita mulai untuk membuat file DLL., caranya sangat mudah. Mari kita Seperti biasa buka program Delphi Anda boleh Versi 5,6 atau 7. Pilih menu File New Other DLL Wizard pada Tab New. (Kebetulan saya menggunakan Delphi 7) Kemudian terlebih dahulu anda simpan project tersebut dengan NgatesDLL.dpr. Gambar 1. Dialog Penyimpanan Project *.dll Gambar 2. Klausa Library 2

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 (Save as unit beri nama unitnya dengan SumberDLL.pas dan nama formnya FrmSumberDLL). Contoh DLL ini mempunyai dua method (satu procedure dan satu function) yang berfungsi untuk menampilkan form. Satu menggunakan Show dan satunya lagi menggunakan ShowModal. Kemudian ketikan code berikut pada unis sumberdll.pas dengan cara menekan tombol F12. procedure ShowFormDLL;stdcall; Application.CreateForm(TfrmSumberDLL,FrmSumberDLL); frmsumberdll.show; 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 yaitu dengan cara membuat fungsi seperti dibawah ini.. function ShowFormDLLModal:integer;stdcall; Application.CreateForm(TfrmSumberDLL,FrmSumberDLL); Result := frmsumberdll.showmodal; 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, 3

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. Berikut kode lengkapnya dan anda isikan pada form FrmSumberDll pada even OnClose. procedure TfrmSumberDLL.FormClose(Sender: TObject; var Action: TCloseAction); Action := cafree; Langkah terakhir adalah melakukan eksport procedure ShowFormDLL dan function ShowFormDLLModal di atas sehingga dapat digunakan atau dipanggil oleh program lain. Exports ShowFormDLL, ShowFormDLLModal; end. Untuk membuat kode di atas menjadi file DLL pilih menu Project kemudian Build. kemudian lihat akan terbentuk file dengan nama NgatesDLL.dll Adapun kode lengkapnya sebagai berikut : library NgatesDLL; Gambar 3. File dll setelah di Build. { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. } 4

uses SysUtils, Classes, sumberdll in 'sumberdll.pas' {FrmSumberDLL}; {$R *.res} end. File Unit sumberdll.pas unit sumberdll; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TFrmSumberDLL = class(tform) procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } var FrmSumberDLL: TFrmSumberDLL; implementation {$R *.dfm} procedure ShowFormDLL;stdcall; Application.CreateForm(TfrmsumberDLL,frmsumberDLL); frmsumberdll.show; function ShowFormDLLModal:integer;stdcall; Application.CreateForm(TfrmsumberDLL,frmsumberDLL); Result := frmsumberdll.showmodal; procedure TfrmSumberDLL.FormClose(Sender: TObject; var Action: TCloseAction); Action := cafree; Exports ShowFormDLL, ShowFormDLLModal; end. Untuk mengtes pemanggilan file DLL yang telah dibuat adalah sebagai berikut. Buat aplikasi baru dengan cara File New Application kemudian simpan nama projectnya PanggingDLL.dpr dan unitnya Upanggildll.pas pastikan lokasi penyimpanannya disatukan dengan folder tempat anda menyimpan file ngatesdll.dll yang telah dibuat sebelumnya untuk memudahkan proses pemanggilan. Tambahkan component button pada tab standar lalu isikan captionnya Tampilkan Form dari DLL 5

Gambar 4. Form untuk mengetes pemanggilan file ngates.dll Kemudian double klik komponen button hingga muncul editor unit untuk event onclick dan isikan kode berikut: procedure TForm1.Button1Click(Sender: TObject); type TFrmSumberDLL=function:TForm; Var LibHandle:THandle; FrmSumberDLL:TFrmSumberDLL; tampil:tform; libhandle:=loadlibrary('ngatesdll.dll'); if (libhandle=0) then Application.MessageBox('File NgatesDLL.dll tidak ada! silahkan anda kopikan file DLL yang anda buat tadi', 'Kesalahan Sistem',MB_OK or MB_ICONHAND); Application.Terminate; @FrmSumberDLL:=GetProcAddress(libHandle,'ShowFormDLLModal' tampil:=frmsumberdll; freelibrary (libhandle); Setelah itu coba anda jalankan/running dengan menekan tombol F9. kemudian tekan tombol Panggil Form dari DLL Maka program akan menampilkan Form dengan memanggil fungsi Showmodal (DLL) pada file NgatesDLL.dll di file dynamic link library yang anda buat pertama kali. Gambar 5. Tes Pemanggilan Form dari file Dynamic NgatesDLL.dll 6

Mudahkan cara membuat fila DLL. Sekarang anda bisa membuat project aplikasi yang lebih ringan karena dengan dibuatnya file dynamic, akan lebih menghemat memory ketika anda menjalankan aplikasi dan disamping anda akan lebih mudah dalam mengupdate aplikasi anda tanpa mencompile ulang lagi file *.exe (executable). Berikut kode lengkapnya unit Upanggildll; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(tform) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); type TFrmSumberDLL=function:TForm; Var LibHandle:THandle; FrmSumberDLL:TFrmSumberDLL; tampil:tform; libhandle:=loadlibrary('ngatesdll.dll'); if (libhandle=0) then Application.MessageBox('File NgatesDLL.dll tidak ada! silahkan anda kopikan file DLL yang anda buat tadi', 'Kesalahan Sistem',MB_OK or MB_ICONHAND); Application.Terminate; @FrmSumberDLL:=GetProcAddress(libHandle,'ShowFormDLLModal');//pema nggilan dengan method show tampil:=frmsumberdll; freelibrary (libhandle); end. 7

Biografi dan Profil Dede Kurniadi, Dilahirkan di Garut tahun 1983 dengan hobi main musik, ngutak-ngatik komputer, dan pemrograman berbasis windows. Menamatkan sekolah di SMU Negeri 1 Tarogong Garut tahun 2002 dan menyelesaikan Bangku Kuliah di D3 Teknik Informatika AMIK Garut pada tahun 2005 sebagai lulusan terbaik. Pernah dipercaya semasa kuliah sebagai Assisten Lab. menjadi teknisi selama satu tahun. Semasa Kuliah aktif dalam organisasi, event seminar dan menjabat Ketua Umum Senat Mahasiswa periode 2003-2004. Baru lulusan kemarin, namun pengalaman sebagai programmer freelance dari tahun 2004, telah mewarnai jejak karirnya. Agustus 2005 merantau ke Jakarta dan bekerja di salah satu perusahaan majalah sebagai Technical Support Jaringan dengan kontrak 1 tahun, namun karena kondisi yang gak bikin betah, akhirnya Januari 2006 kembali ke kampung halaman di kota Garut, dengan niat untuk melanjutkan kuliah S1. Tak lama kemudian awal Januari 2006 diangkat sebagai pegawai AMIK Garut, untuk Teknisi Jaringan komputer, Internet, website dan asisten Pengajar praktik untuk mata kuliah Pemrograman webdesign disamping itu mengajar di SMAN 1 Tarogong Kidul Garut untuk Pelajaran Teknologi Informasi dan Komunikasi. Pada tahun 2006 sebagai start up pembuat website untuk AMIK Garut, SMA Negeri 1 Tarogong dan BMT Tarekah mandiri. Adapun bidang yang ditekuni saat ini adalah pemrograman visual dan pemrograman web, yaitu Delphi, Kylix, C++, Assembley, PHP, Active Server Pages dan Administrasi Jaringan Linux dan smabil melajutkan kuliah S1. Info Selanjutnya bisa melalui : teknisoftgarut@yahoo.com dede.kurniadi@gmail.com info@teknisoft.net 8