Avatar billede kbhadsten Nybegynder
27. august 2006 - 20:41 Der er 4 kommentarer og
1 løsning

Gøre object i funktion global

Hej XP.dk

Hvordan kan man gøre et objekt der defineres i en funktion global, så den kan kaldes fra andre funktioner?

Mit script:

log_startlog()
log_skrivlog()
log_luklog()

Jeg vil gerne have at "fso = CreateObject("Scripting.FileSystemObject")"

ligger i startlog(), men det betyder at jeg ikke kan kalde den fra skrivlog() da den er private i funktionen. Jeg har altså brug for at gøre den global, så den jeg kan kalde den senere.

På forhånd tak!
Avatar billede kbhadsten Nybegynder
27. august 2006 - 20:44 #1
Mine funktioner som de er nu:

Function Log_InititaLog()
    Dim fso, f
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile("c:\testfile.txt", 2, True)
End Function

Function Log_WriteToLog()
    f.WriteLine "Hello world!"
  f.WriteLine "VBScript is fun!"
End Function

Function Log_CloseLog()
    Set f        =    nothing
    Set fso = nothing
End Function
Avatar billede ksoren Nybegynder
27. august 2006 - 20:51 #2
Dim rykkes ud af funktionen, og op i toppen af scriptet
Avatar billede kbhadsten Nybegynder
27. august 2006 - 21:00 #3
Er det virkelig den eneste måde? Det er lidt træls at jeg skal holde styr på nogle variabler uden for min funktion. Kan bedre li' hvis det er samlet ét sted.

Ps. Jeg har lige prøvet det, og det virker fint.
Avatar billede erikjacobsen Ekspert
27. august 2006 - 21:11 #4
Du kan lave en klasse med 3 funktioner og variablen. Så er der lidt styr på det. Se fx http://www.activexperts.com/axscript/vbscriptclasses/
Avatar billede kbhadsten Nybegynder
31. august 2006 - 14:35 #5
*Løsning fundet* erikjacobsen har fået lidt karma for det gode tip
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