Jumat, 17 Agustus 2012

Delphi: Procedure Aktivasi Form (Untuk performa starting project yang lebih cepat)

Untuk kawan-kawan netter yang sering membuat project di Delphi yang (kebetulan) banyak melibatkan form ada baiknya menggunakan procedure untuk mengaktifkan atau menonaktifkan sebuah form. Mengapa demikian? Dalam modus default, project pada Delphi secara otomatis meng-create form. Mungkin untuk yang hanya melibatkan satu atau lima form tidak akan masalah pada performa project yang dibuat ketika running, tetapi akan menjadi masalah ketika project berisi puluhan hingga ratusan form. Nah, ada baiknya untuk mengantisipasi slow running pada saat starting mungkin fungsi berikut bisa dipertimbangkan.

Langkah-langkahnya:
1. Buat sebuah project misal: projectfungsiform.
Create-New Application



















2. Berilah nama form dengan utamafrm kemudian buat sebuah button dan isikan caption dengan "buat dan aktifasi form" spt terlihat di gambar



 3. Buatlah unit yang nantinya akan berisi fungsi untuk mengaktifkan form. Berinama unit: "fungsi_form".


















4. Isikan kode berikut pada unit fungsi_form

unit fungsi_form;

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

procedure aktifkanform(namaform:Tform;classform:TComponentClass);

implementation

procedure aktifkanform(namaform:Tform;classform:TComponentClass);
begin
  if namaform=nil then
  begin
    Application.CreateForm(classform,namaform);
    namaform.ShowModal;
  end else
  begin
    namaform.ShowModal;
  end;
end;


end.

 

5. Buat form tambahan (yang nantinya akan diaktifkan melalui procedure aktifkanform) dan berinama form tersebut subfrm.
 

6. Lihat opsi pada project option (Project-options) akan terlihat gambar berikut:
subfrm dlm posisi auto-create







tampak pada kolom Autocreate Forms ada nama subfrm. Pada opsi default otomatis di create pada saat project di running yang seperti dijelaskan di atas akan membuat project berjalan relatif lambat. Lakukan perubahan agar tidak auto create dengan cara memindahkan dengan klik tombol dengan tanda ">" sehingga tampak seperti gambar di bawah ini:


subfrm dlm posisi non-autocreate/manual create


















7. Setelah subfrm dibuat manual create maka berikutnya tempatkan procedure aktifkan form pada tombol  button1 pada form utamafrm untuk men-trigger.

berikut kode yang disisipkan pada saat click tombol button1

procedure Tutamafrm.Button1Click(Sender: TObject);
begin
  aktifkanform(subfrm,TSubfrm);
end;

Catatan: subfrm adalah nama form yang diaktifkan dan TSubform adalah class form (class pada delphi diawali dengan huruf "T")

8. Compile project dengan menekan tombol CTRL+F9.
9. Jalankan project dengan menekan tombol F9.

Semoga bermanfaat.

Tidak ada komentar:

Posting Komentar