Avatar billede pelkjaer Nybegynder
19. november 2002 - 13:34 Der er 5 kommentarer og
3 løsninger

FSO fejl - jeg fatter ikke hvorfor dette giver fejl

Jeg får flg. fejl:
Microsoft VBScript runtime error '800a01a8'

Object required: ''

(linjen der starter med ImagePath = .....)

Min kode:

' her sletter jeg filen inden recorden
Set File = CreateObject("Scripting.FileSystemObject")
ImagePath = Server.MapPath("..\random_gfx")
ImagePath = ImagePath & "\" & (imgrandomview.Fields.Item("imgfilename").Value)
' her tjekker jeg om filen eksistrerer inden jeg sletter den
If fileExists(ImagePath) Then
File.DeleteFile(ImagePath)
End If

Der er sq' da ingenting galt?
Avatar billede erikjacobsen Ekspert
19. november 2002 - 13:51 #1
Set File = Server.CreateObject("Scripting.FileSystemObject")
Avatar billede Slettet bruger
19. november 2002 - 13:57 #2
Har du en metode der hedder fileExists?

Ellers brug:

If File.FileExists(ImagePath) Then
...
Avatar billede pelkjaer Nybegynder
19. november 2002 - 13:58 #3
ja jeg har en funktion det til

<%
Function fileExists(aFileSpec)
fileExists=newFileSystemObject.fileExists(aFileSpec)
End Function
%>

Erik>>Det ændrer ikke fejlen
Avatar billede Slettet bruger
19. november 2002 - 14:13 #4
Så får du vel osse dit problem lige her:

fileExists=newFileSystemObject.fileExists(aFileSpec)

Serveren kender ikke til dit newFileSystemObject objekt, da det ikke er defineret. Brug enten den kode jeg postede før, eller definér newFileSystemObject:

Set newFileSystemObject = Server.CreateObject("Scripting.FileSystemObject")

i din Function. Jeg synes dog det er lidt spild at oprette en ekstra objektinstans bare for at lave et simpelt metodekald direkte på FSO objektet.
Avatar billede kichian Nybegynder
19. november 2002 - 14:18 #5
Hvis File  er global, så kan den også ses af fileExists funktionen.

Du skriver at fejlen opstår i linien med ImagePath =...
Det er vel linien:
ImagePath = ImagePath & "\" & (imgrandomview.Fields.Item("imgfilename").Value)

Og så er det intet med FSO at gøre, men dit Recordset imgrandomview
Avatar billede pelkjaer Nybegynder
19. november 2002 - 15:23 #6
Well, ingen af jeres svar virker umiddelbare som løsningen.
Anyway, jeg har måske ikke postet nok kode her - men for at få det hele på plads.

<%
Function newFileSystemObject()
set newFileSystemObject=Server.CreateObject("Scripting.FileSystemObject")
End Function
%>
<%
Function fileExists(aFileSpec)
fileExists=newFileSystemObject.fileExists(aFileSpec)
End Function
%>

og

' her sletter jeg filen inden recorden
Set File = CreateObject("Scripting.FileSystemObject")
ImagePath = Server.MapPath("..\random_gfx")
ImagePath = ImagePath & "\" & (imgrandomview.Fields.Item("imgfilename").Value)
' her tjekker jeg om filen eksistrerer inden jeg sletter den
If fileExists(ImagePath) Then
File.DeleteFile(ImagePath)
End If

Mit rs og mit delete statement fungerer fint uden fso'en og "slet billede før record"
Avatar billede pelkjaer Nybegynder
19. november 2002 - 20:20 #7
Hmm. jeg er sq' noget rundt på gulvet her :)

Jeg har lige tjekket en anden side jeg har, og der har jeg gjort 100% det samme, blot med andre stier selvfølgelig, og her virker det fint.

Og nå alt andet virker inden jeg forsøger at slette filen før recorden er det godt nok svært at fejlfinde =oD
Avatar billede pelkjaer Nybegynder
19. november 2002 - 20:54 #8
Okay nu har jeg løst det. En ret dum fejl som jeg efter at have stirret mig blind på resten ikke havde set.

jeg havde skrevet min fso *før* jeg åbnede min connection :)

I deler anyway.
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