Gå til innhold

Static i VB 6. En mulig bug?


Anbefalte innlegg

Deklarert to variabler som static

 

Static B, L as Long

 

For det første måtte dette gjøres innenfor en en sub(eller sikkert en funksjon) og deretter funker den ikke...

Har en sub i en modul som deklarer dem og gir dem en verdi ved start av programmet, men når den er ferdig blir verdiene "empty"... Trodde det static skulle bevare verdien jeg :-?

 

Eller må den deklares Global i en modul? og blir den da static?

Lenke til kommentar
Videoannonse
Annonse

Følgende kode fungerer fint hos meg.

 

 

Public Function fncTest() As Integer

 Static intTmp As Integer

 

 intTmp = intTmp + 1

 fncTest = intTmp

End Function

 

 

Sikker på at du ikke nullstiller variabelen eller noe i den retning?

 

Merk! Når du deklarerer en Static i Vb6, gis den en default verdi. Det er ikke nødvendig/mulig (tror jeg) å initiere verdien selv.

 

 

Fra vb-dok:

When variables are initialized, a numeric variable is initialized to 0, a variable-length string is initialized to a zero-length string (""), and a fixed-length string is filled with zeros. Variant variables are initialized toEmpty. Each element of a user-defined type variable is initialized as if it were a separate variable.

Lenke til kommentar

Her er hvor jeg bruker dem... så fort Sub'en er ferdig setter VB begge verdier til (L og B) til "empty"

 

Public Static Sub OnLoad()

'OnLoad blir kjørt "samtidig" med Form_Load av frmPlay.



'Lengde og bredde

Static B As Long

Static L As Long



'Definere størrelsen på rutene

L = frmPlay.ScaleHeight / Ruter

B = frmPlay.ScaleWidth / Ruter



End Sub

 

:shrug:

 

Men vil prøve å løse på måten til b-urn...

 

takk for tilbake meldinger :wink:

Lenke til kommentar

kanskje du deklarerer disse static variablene som lokale variabler.

 

dersom du f.eks skriver dette:

 

static X as integer

 

inne i en sub, vil denne variabelen gjelde innenfor kun denne sub'en

 

dersom du vil at den skal gjelde overalt må du deklarere den globalt

 

jeg har flere static variabler og disse funker fint

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...