AppBundle kampret!

Ya, ini bukti bahwa kadang kesalahan dalam programming gak selalu krn hal2 yg rumit. Seringkali justru programmer dibikin pusing tujuh belas keliling gara2 kesalahan yg sepele. Justru krn sepele itu, programmer sering menganggap enteng dan gak nyangka bahwa hal yg sepele itu yg jadi sumber masalahnya.

Hari ini aku dibikin pusing hanya gara2 kelewatan untuk gak mencentang sebuah opsi. Krn kesalahan yg super-duper sepele itu, aku telah membuang waktu sekitar 4 jam. Seperti biasa, aku develop programnya di MacBook Pro menggunakan Lazarus. Kebetulan ini adalah aplikasi web, menggunakan ExtPascal. Namun gak seperti biasanya, kali ini aku melibatkan sebuah file konfigurasi untuk memudahkan penyesuaian nanti saat deployment dan implementasi.

Saat debugging, hal “aneh” terjadi. Seluruh nilai yg seharusnya diambil dari file konfigurasi selalu berisi nilai default, se-olah2 aplikasi gagal membaca isi file konfigurasi. Padahal file konfigurasi sudah berada di tempat seharusnya, dan seluruh nilainya bukan nilai default. Sudah aku cek permission file, lokasi file, lokasi executable, semuanya sudah benar. Baris-per-baris logika program aku petakan, aku pikir pasti ada yg salah dgn caraku membaca nilai dari file konfigurasi. Walaupun rasanya rada aneh juga sih, masa’ cuma baca nilai dari file konfigurasi aja salah sih, itu kan gampang banget. Tapi, tetep aja belum ketemu. Rasanya waktu itu bener2 misterius deh.😀

Isi dialog Compiler Options udah aku ubek2, rasanya semuanya udah benar. Aku cek juga Environment Options, juga sama. Mengubah beberapa setting di dialog2 itu, tetap gak membawa perbaikan. Google gak banyak membantu. Setelah beberapa jam gak menemukan jawaban, aku udah mikir ada bug serius di FPC atau Lazarus. Kemudian, iseng2 aku membuka dialog Project Options. Saat pertama kali melihat opsi2 di dialog itu, rasanya semuanya udah benar, gak ada yg berubah dari nilai default. Tapi saat melihat kembali dgn lebih teliti, barulah ketemu jawabannya!

Dialog Project Options Lazarus 9.27

Lihat opsi yg dilingkari warna merah itu! Opsi Application Bundle keparat itu! Opsi ini yg bikin aplikasiku gagal menemukan file konfigurasi. Krn jika opsi itu aktif maka selain menghasilkan executable, Lazarus juga membuat bundle yg sebenarnya berupa folder dgn ekstensi “.app” dan aplikasi dijalankan dari dalam folder tsb. Waktu2 sebelumnya opsi ini gak ngaruh soalnya aplikasiku gak membaca file konfigurasi. Aku juga gak memperhatikan adanya opsi ini. Saat deployment pun, aku cukup salin file executable-nya saja ke server, selesai.

Begitu centang di opsi itu aku buang. Langsung lancar deh semuanya. Satu lagi pengalaman baru development di Mac. Tapi, saat itu mendadak aku jadi merasa sangat bodoh!😆

4 Responses to AppBundle kampret!

  1. Dians says:

    wah seru yah.. saya baca2 artikel mas bee… rasanya kapan yah.. saya bisa seperti itu.. develop applikasi di linux lah minimal. dg lazarus… gitu.. bisa kasih tau ga tips n trik nya develop dg lazarus.. install di linux aja msh t’bata2 he.. bisa ajarin ga mas he… biar bisa .. lazarus/FPC is more than enough for me.. he… thank b4

  2. kurniyadi says:

    extpascal itu apa ya pak ?
    digunakan untuk apa ?

  3. a-rief says:

    Bisa ajari q lazarus g? q pgn blajar nich.
    kalau g kbratan, kirim YM mas ke emailq ya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: