fel med FSO-sub

ASP

3 svar · 199 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Trådstart#1

Jag får felet

Object required ''

när jag kör

sub getFSO(str)
		set objFSO = Server.CreateObject("Scripting.FileSystemObject")
		set objFolder = objFSO.GetFolder(server.mappath(str))
	end sub
		
	call getFSO("/produkter/blaha/mapp1/")
	
for each file in objFolder.Files [b]<---- HÄR[/b]
response.write file.name
next

call getFSO("/produkter/blaha/mapp2/")

for each file in objFolder.Files
response.write file.name
next

Jag försöker alltså starta FSO:n med olika sökväg ett par olika gånger, men det failar på första raden..

Anropet återkommer givetvis längre ner, alla de gånger jag vill "ändra sökväg" så att säga.

Medlem sedan dec. 200012 464 inlägg
#2

Om du inte har refererat dom variabler du använder i sub innan anropet så blir dom lokala inom suben. Efter anropet så är dom odefinierade.

Generell sett så skall du undvika användning av globala variabler. Det är bättre att använda parametrar.

Medlem sedan feb. 200112 078 inlägg
#3

Ok. ;)

Och på svenska? Hur skall jag få med mig samlingen (objFSO, objFolder) ur suben då?

Medlem sedan mars 20002 836 inlägg
#4

Ändra subben till en funktion istället:

Function getFSO(str)
	set objFSO = Server.CreateObject("Scripting.FileSystemObject")
	set objFolder = objFSO.GetFolder(server.mappath(str))
	Set getFSO = objFolder
end Function

Set oFolder = getFSO("("/produkter/blaha/mapp1/")

For Each File in oFolder.Files
	Response.Write File.Name & "<BR>"
Next

cya,
PatrikB

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)