Beranda > Computer > Pemanggilan Fungsi Secara Generik Di Delphi

Pemanggilan Fungsi Secara Generik Di Delphi

Duh, Karena udah sangat-sangat lama saya gak pernah make ADO untuk bikin program secara serius. Begitu ADO ini saya coba gunakan lagi untuk membuat satu aplikasi, saya jadi kagok abis-abisan dengan cara kerjanya. Padahal saya cuman menggunakan Access. Payah… payah… 😦

Ngomong-ngomong, dulu biasanya saya membuat satu kerangka aplikasi secara lengkap, bahkan sampai mengubah perilaku standar dari class TForm supaya bisa sesuai dengan apa yang saya inginkan. Saat ini saya malah lebih senang segala sesuatu yang sedapat mungkin mempertahankan standar perilaku yang ada. Untuk kasus yang sederhana misalnya, saya lebih senang membuat satu sentralisasi proses terhadap event yang ditrigger oleh TAction dalam satu prosedur yang khusus menghandle itu, kira-kira mirip seperti jaman menggunakan wndproc pada programming pake Windows API jaman baheula. Bukan apa-apa, karena metode ini membuat sebuah proses jadi bisa dipanggil secara generik dari modul-modul yang lain tanpa harus mengcasting ini itu segala. Contohnya aja misalnya

const
  WM_USER_COMMAND = WM_USER + 1;

CM_UPDATE_STATE = 1;

type
  TfrmMain = class(TForm)
    ...
  private
    procedure SetMessageID(const Value: integer);
  protected
    procedure WMUserCommand(var Message: TMessage); message WM_USER_COMMAND;
  public
    procedure SendCommand(const Command, Param: Integer);
    property MessageID: integer write SetMessageID;
  end;

implementation

procedure TfrmMain.WMUserCommand(var Message: TMessage);
begin
  case Message.WParam of
    CM_UPDATE_STATE:
       begin
         ...
       end;
  end;
end;

procedure TfrmMain.SendCommand(const Command, Param: Integer);
begin
  SendMessage(Handle, WM_USER_COMMAND, Command, Param);
end;

procedure TfrmMain.SetMessageID(const Value: integer);
begin
  SendCommand(Value, 0);
end;
Iklan
Kategori:Computer
  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: