Contoh berikut menambahkan event pada komponen bpiConnector , tujuanya untuk menambahkan indicator status koneksi database , event tersebut diambil dari event komponen master (misalnya: TMySQL55Connection) yg diteruskan pada komponen bpiConnector:
-AfterConnect
-AfterDisconnect
nantinya akan tersedia beberapa status koneksi sbb:
-property "Connected"
-property "ConnectionIndicatorLabel"
-property "ConnectionIndicatorImage"
-property "ConnectedImage"
-property "DisconnectedImage"
1.didalam blok "published" tambahkan property:
property OnAfterConnect:TNotifyEvent read FOnAfterConnect write FOnAfterConnect;
property OnAfterDisconnect:TNotifyEvent read FOnAfterDisconnect write FOnAfterDisconnect;
-kemudian tekan (Ctrl+Shift+c) , maka akan terbentuk variable private
2.pastikan didalam blok "private" sudah terbentuk variable
FOnAfterConnect
FOnAfterDisconnect
3.pada procedure "create/connect" component , buat code untuk memforward event dari komponen parent misal sbb:
MySQL55Con.AfterConnect:=@ParentAfterConnect;
MySQL55Con.AfterDisconnect:=@ParentAfterDisconnect;
4.didalam blok "private" buat procedure sbb :
procedure ParentAfterConnect(Sender: TObject);
procedure ParentAfterDisconnect(Sender: TObject);
-kemudian tekan (Ctrl+Shift+c) , maka akan terbentuk kerangka procedure dibawah
5.didalam blok kerangka procedure masukkan code untuk meneruskan event dari komponen parent ke property sbb:
if Assigned(OnAfterConnect) then OnAfterConnect(Self);
if Assigned(OnAfterDisconnect) then OnAfterDisconnect(Self);
jadinya sbb :
procedure TbpiConnector.ParentAfterConnect(Sender: TObject);
begin
if Assigned(OnAfterConnect) then OnAfterConnect(Self);
end;
procedure TbpiConnector.ParentAfterDisconnect(Sender: TObject);
begin
if Assigned(OnAfterDisconnect) then OnAfterDisconnect(Self);
end;
6.pada option package , pilih sintax mode :
Object Pascal - default (-MObjFPC)
7.dibawah nama unit pastikan/tambahkan kode sbb:
{$mode objfpc}{$H+}
8.padapackage manager klik compile , kemudian use-install
Catatan :
-Event "AfterDisconnect" tidak dapat mendeteksi jika server terputus/server melakukan disconnect (lost connection), tetapi berfungsi jika client (aplikasi/kompnen ini) memanggil procedure disconnect