Sunday - May 18, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 11 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Fungsi Terbilang pada Borland Delphi (4944)

»

Tips JavaScript: Membuat Fungsi Open Window Pop-Up agar Tampil di Layar pada Posisi Center (3579)

»

Mengenal Emulator PC - Bagian 2 (2325)

»

Diagram Pemasangan Kabel TP pada RJ 45 (8613)

»

Fenomena Virus pada Handphone (5672)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Menanti Berhentinya Proses Suatu Aplikasi pada Borland Delphi

Author: Novian Christanto
Published: September 02, 2004
Visits: 3166 - Category: Borland Delphi
 
     
 

Terkadang ketika kita membuat sebuah software,kita memerlukan aplikasi lain sebagai penunjang program kita. Penunjang ini bisa berarti kita memanggil aplikasi lain dari aplikasi Delphi yang kita buat. Contohnya misal kita ingin dari aplikasi Delphi yang kita buat akan memanggil aplikasi MS Excel dan aplikasi Delphi kita itu harus menunggu sampai aplikasi MS Excel tersebut berhenti prosesnya baru kemudian kita menjalankan prosedur selanjutnya. Bagaimanakah caranya? Mudah saja, berikut ini akan ditampilkan contoh code sederhana dimana aplikasi Delphi kita memanggil aplikasi MS Excel dan aplikasi Delphi kita akan menunggu sampai proses pemanggilan MS Excel benar-benar sudah selesai dilakukan. Code di bawah ini dibuat dengan Borland Delphi 6.0, buatlah project baru dan letakkan sebuah object Button pada form utama. Code di bawah ini adalah code pada event OnClick pada Button tersebut.

procedure TForm1.Button1Click(Sender: TObject);
var
  info_proses: TProcessInformation;
  info_start: TStartupInfo;
  Kode: longword;
begin
  // inisialisasi awal
  FillChar(info_proses, sizeof(TProcessInformation), 0);
  FillChar(info_start, sizeof(TStartupInfo), 0);
  info_start.cb := sizeof(TStartupInfo);

  // menjalankan program
  if CreateProcess('C:\Program Files\Microsoft Office\Office\excel.exe',
nil, nil,nil, false, NORMAL_PRIORITY_CLASS, nil,
nil,info_start, info_proses) then
  begin
    // proses telah dilakukan
    // sekarang menanti sampai programnya selesai
    WaitForSingleObject(info_proses.hProcess, INFINITE);
    // Proses Telah berhenti
    GetExitCodeProcess(info_proses.hProcess, Kode); //cari code
    CloseHandle(info_proses.hThread);
    CloseHandle(info_proses.hProcess);
    Application.MessageBox(
    PChar(Format('Program selesai! (Exit code=%d)', [ExitCode])),
'Info', MB_ICONINFORMATION);
   //
   // kalau mau buat tambahan procedure atau function
   // disini tempatnya
   //
  end
  else
  begin
    // ada kesalahan pada waktu proses
    Application.MessageBox('Program tidak dapat di eksekusi',
    'Error', MB_ICONEXCLAMATION);
  end;
end;

Kalau kita lihat di atas ada beberapa method penting yang digunakan untuk misi kali ini. Setidaknya ada tiga method yaitu:

- CreateProcess, Windows API yang digunakan untuk menjalankan suatu proses (bisa aplikasi) pada Windows.
- WaitForSingleObject, Windows API yang digunakan untuk menunggu proses eksekusi program sampai suatu sinyal dikirim atau sampai suatu waktu tertentu
- CloseHandle, Windows API yang digunakan untuk menutup suatu handle dari suatu obyek yang terasosiasi (terhubung) dengan handle tersebut.

Bahan Bacaan
- Win32 Programmer's Reference
- Delphi Help

Demikianlah tulisan sederhana mengenai menanti berhentinya proses suatu aplikasi pada Borland Delphi, semoga berguna bagi Anda semua. Jika ada komentar atau saran silakan dikirimkan ke v1an.tok@gmail.com. Untuk membaca tulisan menarik lainnya silakan menuju ke www.sony-ak.com.

Terimakasih.




 Recommended articles
 

»

Langkah-langkah Persiapan Presentasi dengan Pihak Klien (3848)

»

Beberapa Fungsi dari Search Engine Optimization (SEO) (1681)

»

ping2me.com, Network Tools Gratis Berbasis Web (4421)

»

Memanfaatkan ADO Stream Object Pada Visual Basic Untuk Akses Data Bertipe BLOB Pada SQL Server (4696)

»

Melihat Daftar Database, Daftar Tabel dan Struktur Tabel Pada MySQL (4029)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com