Skip to main content

Mengunakan DLL Untuk Menyimpan Resource

menggunakan dll untuk menyimpan resource Isi Dynamic Link Library (DLL) tidak harus berupa fungsi. DLL bisa menyimpan resource dengan baik. Resource bisa berupa bitmap, ikon, cursor, atau yang lain. Sebagi contohnya adalah file moricons.dll (berlokasi dalam direktori sistem Windows). File ini hanya berisi kumpulan icon yang bisa dimanfaatkan oleh user.

Untuk menggunakan DLL sebagai penyimpan resource, caranya sama seperti pada pemrograman biasa. Yang dibutuhkan adalah tambahan baris compiler directive yang menunjuk ke file resource yang digunakan.

Sebagai contoh, program berikut mendemonstrasikan bagaimana menyimpan beberapa file bitmap dan ikon pada file ImageCollection.dll.

Membuat File Resource

Langkah pertama adalah membuat file resource (file dengan ekstensi .RES). Untuk membuatnya lakukan langkah-langkah berikut.

  • Buat sebuah file teks (misalnya dengan Notepad), kemudian ketikkan baris berikut:
    Bitmap1 BITMAP "Emboss_Logo.bmp"
    Icon1 ICON "Icon_001.ico"
    Icon2 ICON "Icon_015.ico"
    Icon3 ICON "Icon_016.ico"
    
    Tentu saja Anda dapat menggunakan file bitmp dan ikon Anda sendiri. Simpan dengan ekstensi .rc misalnya "images.rc".
  • Letakkan file-file imge pada direktori yang sama dengan file images.rc yang baru saja Anda buat.
  • Buka window Commad Prompt, pada shell prompt ketikkan BRCC32 diikuti path dan nama file rc Anda. contoh
    BRCC32 e:\resource\images.rc
    
    . Jika proses kompilasi berhasil, akan terbentuk file baru dengan nama images.res

Membuat File DLL

Memasukkan resource ke dalam file DLL tidaklah sulit, caranya:
  • Buat proyek DLL baru, caranya pilih menu File | New | DLL.
  • Simpan proyek dengan nama ImageCollection.dpr.
  • Letakkan file images.res ke dalam direktori yang sama dengan file proyek.
  • Tambahkan perintah compiler directive {$R images.res} setelah baris {$R *.RES}.
  • Pilih menu Project | Build All Projects. Jika proses kompilasi berhasil, akan terbentuk file ImageCollection.dll

Menggunakan DLL

Program berikut ini menunjukkan bagaimana cara menggunakan file ImageCollection.dll secara run-time dynamic linking.

Untuk mengambil bitmap digunakan fungsi LoadBitmap(), sedangkan untuk mengambil ikon digunakan fungsi LoadIcon(). Parameter pertama diisi dengan nilai handle file DLL, sedangkan parameter kedua menunjukkan nama pengenal resource. Kedua fungsi ini mengembalikan nilai handle resource jika berhasil, dan bernilai nol jika gagal.
unit UMain;

interface

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

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    BtnLoadBitmap: TButton;
    BtnLoadIcon: TButton;
    Label1: TLabel;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    procedure BtnLoadBitmapClick(Sender: TObject);
    procedure BtnLoadIconClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  DllHandle: THandle;

implementation

{$R *.dfm}

procedure TForm1.BtnLoadBitmapClick(Sender: TObject);
var
  Bitmap1: HBITMAP;
begin
  DllHandle:= LoadLibrary('ImageCollection.dll');
  if (DllHandle = 0) then
  begin
    Application.MessageBox('Gagal membuka library', 'Kesalahan', MB_OK or MB_ICONEXCLAMATION);
    exit;
  end;
  Bitmap1:= LoadBitmap(DllHandle, 'Bitmap1');
  Image1.Picture.Bitmap.Handle:= Bitmap1;
end;

procedure TForm1.BtnLoadIconClick(Sender: TObject);
var
  Icon1, Icon2: HICON;
begin
  DllHandle:= LoadLibrary('ImageCollection.dll');
  if (DllHandle = 0) then
  begin
    Application.MessageBox('Gagal membuk library', 'Kesalahan', MB_OK or MB_ICONEXCLAMATION);
    exit;
  end;
  Icon1:= LoadIcon(DllHandle, 'Icon1');
  Icon2:= LoadIcon(DllHandle, 'Icon2');
  Image2.Picture.Icon.Handle:= Icon1;
  Image3.Picture.Icon.Handle:= Icon2;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeLibrary(DllHandle);
end;

end.


menggunakan dll untuk menyimpan resource

Comments

Popular posts from this blog

Pengenalan Dasar Qlik Sense

Dewasa ini konsep penyajian data informasi banyak mengalami perubahan yang menggembirakan. Jika dahulu, konsep penyajian data adalah dalam bentuk larik-larik data berisi teks dan biasanya tidak dinamis dan tidak interaktif. Sekarang, seiring dengan pertumbuhan data informasi yang masif, dibutuhkan sebuah teknik penyajian data yang semakin sederhana namun memuat banyak informasi, tersaji secara dinamis dan interaktif, menjadikan pekerjaan analisis data lebih menyenangkan dari sebelumnya. Di sinilah konsep Business Intelligence berawal. Idenya adalah, saya sajikan kepada Anda begitu banyak informasi yang tentu saja yang Anda butuhkan, dalam format visual yang bersih, informatif, dinamis, dan interaktif dalam layar komputer Anda. Qlik Sense merupakan sebuah Aplikasi Reporting untuk keperluan Bussiness Intelligence. Merupakan pengembangan dari aplikasi BI pendahulunya yaitu QlikView . Qlik Sense pada dasarnya sama dengan QlikView . Hanya saja Qlik Sense lebih menekankan pada ide ...

Cara Membuat Dan Menggunakan Unit Di Delphi

Artikel ini adalah lanjutan dari artikel Bekerja Dengan Unit Di Delphi .  Untuk membuat unit baru, pilih menu File | New | Unit . Listing di bawah ini merupakan suatu contoh unit yang dibuat Delphi. unit Unit2; interface implementation end.

Pengenalan ASP.NET MVC : Buat Aplikasi Web MVC Pertama Anda

Artikel ini merupakan bagian pertama dari rangkaian tema pengenalan ASP.NET MVC 5. Pada bab pertama ini akan menunjukkan pada Anda bagaimana membuat aplikasi web ASP.NET MVC 5 untuk pertama kali. Bagi Anda yang seorang web developer atau mungkin seorang mahasiswa yang mempelajari pemrograman web, jika Anda mengikuti perkembangan framework web, mungkin Anda tidak asing dengan istilah MVC. MVC ( Model View Controller ) bisa dikatakan adalah sebuah metode yang digunakan dalam lingkungan pengembangan yang membedakan antara logika program dan presentasi / tampilan program, sehingga lebih mudah untuk mendelegasikan tugas: bagian yang khusus menangani tampilan dan bagian yang khusus menangani logika aplikasi. Pada artikel ini belum akan membahas lebih dalam tentang konsep MVC ini. Kita akan membahas lebih lanjut tentang konsep MVC pada artikel selanjutnya. Saat ini Anda akan belajar membuat aplikasi web ASP.NET MVC Anda, dan untuk saat ini tanpa mengetikkan sebaris kode pun. Langkah...