Avatar billede acidduck Nybegynder
27. januar 2003 - 12:27 Der er 9 kommentarer og
1 løsning

Erklæring af form-wide variable

Ok, jeg er nybegynder til Visual Basic så bær over med mig!

Jeg er gået i gang med bogen Visual Basic .net Mastering - og sidder med et kodeeksempel der kræver erklæring af form-wide variable. Altså skal disse variable kunne tilgåes fra samtlige sub-rutiner i formen.

Bogen glemmer bare at fortælle hvor i koden sådanne skal placeres...

Det kunne egentlig være rart at vide :)
Avatar billede ocp Nybegynder
27. januar 2003 - 12:51 #1
Den skal placeres øverst i formen under "general".
Avatar billede ocp Nybegynder
27. januar 2003 - 12:51 #2
Svar...
Avatar billede acidduck Nybegynder
27. januar 2003 - 12:55 #3
I Windows Form Designer Generated code, eller hvor?
Synes ikke jeg kan finde "general" nogen steder.
Avatar billede ocp Nybegynder
27. januar 2003 - 13:12 #4
Gå ind i form-koden (dobbeltklik på formen).

Vælg "(General)" fra højre dropdownboks i toppen.

Ta da...
Avatar billede ocp Nybegynder
27. januar 2003 - 13:13 #5
Skriv dem under "Option Explicit"
Avatar billede martin_moth Mester
27. januar 2003 - 13:40 #6
Variabler der er erklæret i en sub - uanset om denne sub er i et modul eller på en form - er kun synlige for Sub'ben

Variabler der er erklæret som Private i et eksternt modul kan tilgås fra alle subs i det pågældende modul.

Variabler der er erklæret som Public i et eksternt modul kan tilgås direkte fra alle forme, fx. ved Modul1.Variabelnavn = Værdi

Variabler der er erklæret i som Private i toppen af en form's kodevindue (udenfor en sub) kan tilgås fra alle subs på formen

Variabler der er erklæret i som Public toppen af en form's kodevindue (udenfor en sub) kan tilgås fra alle subs på formen SAMT andre forms ved fx. Form1.variabelnavn = Værdi

Ovenstående gælder for Visual Basic 6 - jeg går ud fra at det er det du sidder med, og ikke VB.NET :o)
Avatar billede martin_moth Mester
27. januar 2003 - 13:51 #7
Altså - hvis du åbner et kodevindue:

Option Explicit
Private Jeg_er_synlig_For_alle_subs_på_denne_form As String
Public Jeg_er_synlig_For_alle_subs_på_denne_form_OG_ANDRE_FORMS As Boolean

Private Sub MySub()
  Dim Jeg_Er_Kun_synlig_i_Denne_Sub As Integer
End Sub

Generelt er http://msdn.microsoft.com/library/default.asp genialt til den slags spørgsmål (eller hjælpen til VB6 - søg på "Understanding the Scope of Variables")
Avatar billede acidduck Nybegynder
27. januar 2003 - 13:54 #8
Ok, det skal siges at jeg sidder med Visual Studio .NET!
Jeg troede det gav sig selv, da jeg jo sidder med en .NET kode bog...

Tak for svarene, men de hjælper mig desværre ikke.
Avatar billede martin_moth Mester
27. januar 2003 - 13:55 #9
Og et sidste indlæg - bare for at være ekstra grundig.

Bruger du linket til MSDN, kan du enten
- klikke dig frem til
- eller bruge advanced search til at finde
følgende:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconunderstandingscopeofvariables.asp
Avatar billede martin_moth Mester
27. januar 2003 - 14:06 #10
"Jeg troede det gav sig selv, da jeg jo sidder med en .NET kode bog..."

Hmmm - hvorfor så poste i VB-kategorien?

Desuden kan du vel stadig bruge linket til MSDN - det omhandler jo også VB.NET?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester