28 Maret 2009

Asynchronous Proses pada Komponen ADO (Bagian 1)

Ini adalah salah satu fitur unik komponen ADO pada Delphi dimana proses koneksi ke SQL Server, melakukan operasi SELECT, INSERT, UPDATE, DELETE bisa dilakukan secara asynchronous. Pada proses asynchronous kita bisa melakukan proses lain pada saat operasi sedang berlangsung. Misalnya menampilkan suara/video pada saat melakukan koneksi atau menampilkan progres pada saat melakukan query data yang besar. Pada komponen ADO ada properti yang bisa diset untuk fitur ini, jadi tidak perlu repot harus pake thread yang rumit dan susah. Fitur ini bisa berjalan pada database SQL Server dan MySQL (sudah dites dan berjalan dengan baik) dan tidak menutup kemungkinan DBMS lainnya.
Untuk melakukan koneksi ke server, kita memerlukan komponen TADOConnection. Proses koneksi secara asynchronous bisa dilakukan dengan set properti ConnectOptions = coAsyncConnect (default = coConnectUnspecified). Misalkan kita ingin menampilkan video pada saat melakukan koneksi. File video berformat avi ini akan dijalankan dengan komponen TMediaPlayer “MediaPlayer1” pada panel “Panel1” selama proses koneksi berlangsung dan berhenti setelah koneksi berhasil.
procedure TForm1.ConnectToSQLServer;
begin
  ADOConnection1.OnConnectComplete := ADOConnection1ConnectComplete;
  ADOConnection1.Connected := True;
  MediaPlayer1.Filename := 'goyang_dombret.avi';
  MediaPlayer1.Display := Panel1;
  MediaPlayer1.Open;
  MediaPlayer1.Play;
end;

procedure TForm1.ADOConnection1ConnectComplete(Connection: TADOConnection; const Error: Error; var EventStatus: TEventStatus);
begin
  MediaPlayer1.Stop;
end;

Tidak ada komentar:

Posting Komentar