[elektro] OFF: Visual Basic for Applications konstans tömb

Topybear topybear at gmail.com
Tue Aug 17 15:57:22 CEST 2010


>   Ez az egyik modulban van, mivel a deklarációknál nem engedi a Public
> meghatározást. Ilyenkor viszont ha jól sejtem, akkor a modul minden
> meghívásakor újra létrehozza a tömböt és újra feltölti.
>

Rossz a sejtés. Mivel ezek globális (public) változók, csúnya lenne, ha
egyszer csak úgy eltűnnének, aztán meg újra létrejönnének.
VBA-ban a modul programozástechnikai egység. Nem objektum és nem is
függvény/eljárás, hogy ha kilépsz belőle, akkor megszűnik ő is, meg amit
benne deklaráltak. A global, public, private a láthatóságot szabályozzák.

Próbáld csak ki, működni fog! :)

'module1
Sub main()
    CRC_Table(0) = 0
    CRC_Table(1) = 1
    CRC_Table(2) = 2
    CRC_Table(3) = 3
    CRC_Table(4) = 4
    CRC_Table(5) = 5

  Debug.Print "Init"
  Debug.Print CRC_Table(0)
  Debug.Print CRC_Table(1)
  Debug.Print CRC_Table(2)
  Debug.Print CRC_Table(3)
  Debug.Print CRC_Table(4)
  Debug.Print CRC_Table(5)

  tesztprint

  Debug.Print "First"

  CRC_Table(0) = 10
  CRC_Table(1) = 11
  CRC_Table(2) = 12
  CRC_Table(3) = 13
  CRC_Table(4) = 14
  CRC_Table(5) = 15

  tesztprint


End Sub


'module2

Public CRC_Table(0 To 255) As Byte

Sub tesztprint()
  Debug.Print "Teszt..."
  Debug.Print CRC_Table(0)
  Debug.Print CRC_Table(1)
  Debug.Print CRC_Table(2)
  Debug.Print CRC_Table(3)
  Debug.Print CRC_Table(4)
  Debug.Print CRC_Table(5)
End Sub


Topy


More information about the Elektro mailing list