Runtime Dinamic Form (Form Dinamis)
Jika karena suatu hal (misal, untuk memangkas memory yang digunakan, agar aplikasi lebih ringan, dan sebagainya) anda ingin membuat form secara dinamis pada aplikasi anda, atau anda ingin memanggil Form anda hanya dengan mengetahui Nama Class-nya saja, maka penggalan kode/ source code dibawah adalah untuk anda.
Penggalan dibawah ini terdiri dari 2 (dua) unit, yakni "Main_U.pas" sebagai Main Form-nya dan "FormDinamis_U.pas" sebagai Form yang akan dibuat secara runtime/ dinamis.
Listing program Main_U.pas :
unit Main_U; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; //Dinamic form show hanya dengan mengetahui nama kelasnya procedure ExtShowForm(aFormClass:TFormClass); var Form1: TForm1; implementation uses FormDinamis_U; // <== Tambahkan Unit FormDinamis anda {$R *.dfm} procedure ExtShowForm(aFormClass:TFormClass); begin with aFormClass.Create(Application) do try Caption := 'Disini diisi Caption Form'; ShowModal; //Tampilkan Form dengan Modal actif finally Release; // Hapus memory end; end; procedure TForm1.Button1Click(Sender: TObject); begin ExtShowForm(TForm2); end; end.
dan Listing untuk FormDinamis.pas (Form Kosong yang hanya berisi label) :
unit FormDinamis_U; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} end.
Hendi Kusnadi
Post a Comment for "Runtime Dinamic Form (Form Dinamis)"