Klo qta bikin program pake delphi, hasil compile dari program yang kita buat (*.exe) secara default dapat dijalankan lebih dari 1 kali. Maksudnya, klo programnya dah di running (pake double klik), trus di-running lagi (double klik lagi) pasti bisa..

Nah, ada caranya supaya program tersebut hanya bisa running satu kali pada satu waktu, jadi klo dah running ya ga bisa di running lagi..

Ini nih caranya:

  1. pada program yang anda buat save dulu semuanya, pake Save All (Ctrl+Shift+S)
  2. trus, Close All dulu.
  3. buka file project (*.dpr) pake text editor/notepad
  4. misal isi file tsb seperti berikut ini:
  5. program Project1;
     uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};
      {$R *.res}
    begin
     Application.Initialize;
     Application.CreateForm(TForm1, Form1);
     Application.Run;
    end.
    
  6. pada bagian uses tambahkan unit Windows dan Dialogs
  7. uses
     Forms, Windows, Dialogs,
     Unit1 in 'Unit1.pas' {Form1};
    
  8. pada bagian main program, tambahkan sintaks berikut (setelah begin)
  9. CreateMutex(nil, True, 'test');
    if GetLastError = ERROR_ALREADY_EXISTS then
     begin
      MessageDlg('Program anda sudah running', mtInformation, [mbOK], 0);
      halt;
     end;
    

nah.. sederhana kan.. met nyoba ya :p