Thursday, July 23, 2009

Menggunakan ShellExec di Dalam Delphi untuk Membuat Aplikasi Launcher Java


Ini lanjutan dari artikel sebelumnya, yaitu saya ingin membuat lingkungan penggunaan software Java yang transparan (dimana user tidak melihat bedanya dengan lingkungan pengembangan yang lain, spt Delphi). Launcher ini dimaksudkan supaya user bisa menjalankan aplikasi java dengan klik 2x di desktop, itu gampangannya.

Mudah? Tidak juga. Beberapa produk free atau komersial ada di pasaran. Tapi terlalu rumit deh. Yang diinginkan hanyalah supaya aplikasi java, yang didistribusikan via file Jar bisa dijalankan dengan klik 2x. Caranya? Akhirnya begini saja.

  1. Gunakan ant + build.xml dari Netbeans. Coba buka proyek apa saja di Netbeans. Maka ia akan membuatkan file build.xml yang akan dijalankan oleh ant dengan perintah ant run. Nah, inilah perintah yang akan dijalankan oleh program Delphi.
  2. Gunakan fungsi ShellExec pada API Win 32 untuk menjalankan program eksternal, berikut kodenya :

    ShellExecute(Form1.WindowHandle,'','D:\Program\ant\bin\ant.bat','run','D:\-=SHARED=-\java\Platform',0);

    parameter yg penting adalah alamat lengkap file ant.bat, argumen run, lokasi build.xml proyek yang akan dijalankan dan terakhir argumen 0 agar window dari dos prompt tidak ditampilkan. Disini alamat direktori saya hardcode, tentunya nanti bisa dibuat dinamis agar sesuai dengan lokasi tempat aplikasi diinstal.
  3. Aplikasi delphi tersebut jadikan splashscreen saja. Berikut kodenya, pada file Project Delphi:
Application.Initialize;
form1 := TForm1.Create(Application);
form1.Show;
form1.Update;
Sleep(1000);
form1.run; // di method ini ada pemanggilan fungsi ShellExec
form1.Close;


Terakhir, jangan lupa buatkan shortcut ke file EXE dari splash screen tersebut.

Bagus hasilnya.
Semoga bermanfaat!

NB :
  • Meski, kata2 sy tentang aplikasi Java yang tidak bisa dibedakan dengan lingkungan pengembangan lain spt Delphi, saya rasa kurang tepat. Bagaimanapun juga, GUI Swing ada jeda atau lag yang agak terlihat. Sy pakai Pentium 4, masih terasa. Pernah juga AMD Turion 64 X2, tetep aja terasa. Juga stylnya masih terlihat Java bgt.
  • Kalau Eclipse RCP dengan SWT-nya tidak masalah. Benar2 native. jadi cepat. secepat aplikasi windows native.
  • Oya, benernya saya install Delphi karena ada yg minta bantuan untuk pengembangan Thesis. Eh, malah idenya jd kesini.
  • Saya sempatkan koding untuk pengembangan skill (dan bisnis), di luar kewajiban pengembangan aplikasi untuk skripsi/thesis yang sudah dipesan temen2.

2 comments:

Ricky H Arsyad said...

Salam hormat, ada aplikasi chatting komputer untuk 2 arah, seperti sms, dapat di download di www.ciauldownload.blogspot.com, Gratis, Terima kasih

Eko said...

Wah, baru liat komennya setelah..3 tahun :D
kebangetan yaks

maksih infonya :v