OCSpro Skrevet 13. juli 2003 Del Skrevet 13. juli 2003 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
Nemis Skrevet 14. juli 2003 Del Skrevet 14. juli 2003 Kan ikke se av Static funker noe sted... Om du vil at en variabel skal bevare verdien, så prøv med 'Const' Public Const navn as Long = "blblblal" Om jeg forstår rett...[/code] Lenke til kommentar
OCSpro Skrevet 14. juli 2003 Forfatter Del Skrevet 14. juli 2003 Men en konstant må jo deklareres før "kode"... kan en konstant regnes ut utenfor en sub eller funksjon? Lenke til kommentar
b-urn Skrevet 14. juli 2003 Del Skrevet 14. juli 2003 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
OCSpro Skrevet 14. juli 2003 Forfatter Del Skrevet 14. juli 2003 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 Men vil prøve å løse på måten til b-urn... takk for tilbake meldinger :wink: Lenke til kommentar
dalai Skrevet 18. juli 2003 Del Skrevet 18. juli 2003 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå