Monday, November 06, 2006

Visual Basic di Pocket PC

Pekan ini saya diminta seorang rekan, untuk membuat sebuah formulir sederhana dalam PDA PocketPC. Ini dapat dilakukan dengan sangat cepat menggunakan eMbedded Visual Basic (eVB). Cuman, saya sering frustasi dengan eVB, sebab banyak sekali alat bantu pemrograman (fungsi, library dll) yang tidak dapat digunakan, kalo dibandingkan dengan eVC (eMbedded Visual C++). Apalagi kalo dibandingkan dengan sodaranya di desktop, Ms Visual Basic 6, maka lebih banyak lagi fitur Ms VB 6 yang tidak dapat kita gunakan.
Tapi untuk waktu yang cuman 1 hari menyelesaikan itu semua, apalagi cuman sekedar demonstrasi, maka pilihan saya akhirnya memang eVB.

Banyak sekali perbedaan antara VB dan eVB, sehingga seorang programmer VB, tidak begitu saja mudah membuat program eVB. Meskipun secara umum, pengetahuan dasar VB sangat banyak membantu.

Secara umum, berbeda dengan Ms VB 6, program-program eVB di PocketPC, bukan file binary exe. Artinya, kita memerlukan intrepreter eVB. Menurut Tacke dan Bassett, hal ini melahirkan konsekuensi bahwa eVB memiliki performa yang lebih rendah. Ketika aplikasi eVB berjalan, p-code --code yang dihasilkan eVB-- harus di-intrepreter-kan. Ini artinya, eVB bukan pilihan yang tepat untuk program high-level matematik, grafik dan aplikasi lain yang memakan kinerja prosesor sangat banyak. Kemudian selain program eVB yang berekstensi .vb, kita harus menginstall lebih dulu pvbload.exe (interpreter eVB), pvbform2.dll, pvbhost2.dll dan vbscript.dll kedalam sistem windows PocketPC. Bila kita menambahkan control bukan standar, maka kita juga perlu mengikutsertakan dll untuk control tersebut.

Satu lagi kesulitan adalah, kita susah merubah icon program kita. Sebab program aplikasi eVB menggunakan intrepreter dan file .vb terasosiasikan ke interpreter tersebut, maka semua aplikasi eVB memiliki icon yang sama, yaitu iconnya pvbload.exe. Untuk mengatasi hal ini kita perlu bantuan C++.

Hal lain adalah, semua variable adalah bertype variant. Meskipun hal ini menjadikan program kita sangat fleksibel, misalnya kita dapat melakukan penambahan type Form dengan nilai satu, tetapi hal ini menjadikan program kita sangat sulit di-debug. Tidak ada menu -- system menu di PocketPC dan desktop memang berbeda --, gak bisa membuat sendiri ActiveX controls, gak bisa menggunakan blok "with" dan gak bisa memakai Form modal.

Referensi:

1. Tacke, C., dan Bassett, T., "eMbedded Visual Basic?: Windows? CE and Pocket PC Mobile Applications", Sam Publishing, ISBN 0-672-32277-3
2. Guan-Ming Su, Min Wu, K.J. Ray Liu, "Mobile Computing and Pocket PC Programming Manual"
3. Hsieh, J., "Introduction to Pocket PC 2002 Programming"