Saya membuat sebuah program dengan bahasa Basic (di Gambas <-- semacam VB di 
Linux).
Listing code nya seperti ini :

PRIVATE mmmmTag AS String[]
PRIVATE bTag AS String[]
PRIVATE eTag AS String[]

PUBLIC SUB tambahArrayMtname(OPTIONAL i AS Integer, OPTIONAL ValmmmmTag AS 
String, OPTIONAL valETag AS String, OPTIONAL ValBtag As String)

  DIM nmatVal AS Integer
  nmatVal = Val(nmat.Text)

  '==== Bagian 1
  mmmmTag = NEW String[nmatVal]
  mmmmTag[i] = ValmmmmTag
  bTag = NEW String[nmatVal]
  bTag[i] = ValBTag
  eTag = NEW String[nmatVal]
  eTag[i] = ValEtag

  '===== Bagian 2

  mmmmTag.Add(ValmmmmTag)
  bTag.Add(ValBtag)
  eTag.Add(ValETag)

END

PUBLIC SUB fungsiKedua()

     FOR i = 0 TO (kunci-1) STEP 1  '## variabel kunci diberikan di fungsi 
main, dan bisa diakses secara global
      FormLain.TeksKeterangan = mmmmTag[i] & bTag[i] & eTag[i]
    NEXT
    
END

Masalahnya gini, ketika yang dipake di fungsi tambahArrayMtname() adalah Bagian 
1, variabel bisa terisi. Tetapi di fungsiKedua() array yang bisa diakses hanya 
array terakhir (array dengan index terbesar). Array dengan index yang lain 
tidak bisa diakses.

Sementara jika Bagian 2 yang digunakan : Error NULL Object.

Jadi, sebenarnya jika di atas sudah didefinisikan variabel dengan tipe 
String[], bagaimana cara mengisi array tadi dengan benar?
Kemudian walaupun didefinisikan diluar semua fungsi (berarti aksesnya global), 
mengapa hanya index terakhir yang bisa diakses?



|| Okto Silaban http://okto.silaban.net
|| KMTF-UGM : http://kmtf.ft.ugm.ac.id
        
---------------------------------
Everyone is raving about the all-new Yahoo! Mail beta.

[Non-text portions of this message have been removed]

Kirim email ke