Skip to content Skip to sidebar Skip to footer

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)"