Avatar billede mbl Juniormester
12. maj 2011 - 15:36 Der er 5 kommentarer

Erklæring af variabler som kan alle steder

Jeg har en formular med en masse tekstfelter og knapper der laver diverse kald til nogle funktioner som jeg har liggende i forskellige "Modules".

Jeg har forskellige Arrays/variabler som skal erklæres så jeg kan bruge dem i alle modules og i min formular.

Hvordan gør jeg dette?
Avatar billede glvi93 Nybegynder
12. maj 2011 - 20:13 #2
Vil gerne være til hjælp, hvis det er så send koden til mig.
Men så du må specificerer hvordan du vil have det kodet arrays/variablerne ind i din kode, fx om det skal kodes ind i en individuel sub, module, eller om det skal være en funktion eller sub i den allerede eksisterende kode.
Avatar billede kjulius Novice
25. maj 2011 - 00:26 #3
Som jape44 hentyder til med sin link, så kan man definere en global variabel ved at skrive

Public i stedet for Dim, altså skrives f.eks.

Public strGlobalBynavn As String

En sådan variabel skal deklareres i toppen af modulet, inden funktioner og subrutiner.

I ældre databaser kunne man i stedet for Public skrive Global (jeg ved ikke, om man stadig kan det, men Microsoft promoverer nu brugen af Public i stedet -- nok for at det mere ligner andre sprog).

Man skal være endog meget forsigtig med at anvende globale variable.

Med mindre variabelnavnet er meget specifikt, kan man let senere ved en fejl komme til at referere til en global variabel i stedet for en lokal.
Selv hvis man, som man altid bør, bruger Option Explicit, vil compileren ikke beklage sig, hvis man ved en fejl kommer til at skrive navnet på den lokale variabel forkert og "rammer" navnet på den globale variabel, for den findes jo. Dermed vil resultatet blive forkert og man kan bruge oceaner af tid på fejlfinding.

Det er især et problem ved senere programrevisioner, hvor man måske ikke er opmærksom på denne globale variabel. Derfor er en god regel altid at bruge en gennemført navnekonvention, som sikrer, at man ved hvilken type variabel der er tale om, alene ved at se variabelnavnet.
Avatar billede Slettet bruger
25. maj 2011 - 00:45 #4
kjulius: Hold da op! Meget kvalificeret svar, skal man lede længe efter - men du levere varen :-)
Avatar billede kjulius Novice
25. maj 2011 - 19:50 #5
Nej, jeg kedede mig egentlig bare, derfor blev det en lidt "langhåret" og indforstået tirade. :-)
Du havde jo allerede givet svaret, men jeg er principielt ikke så meget for links, for de kan jo forsvinde igen, og så er ekspertens "opslagsværk" pludselig ikke så meget værd. Så min tekst er egentlig bare min "udlægning" af hvad der står på den side du henviser til.
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