Avatar billede ripley Nybegynder
06. oktober 2004 - 21:26 Der er 1 kommentar og
1 løsning

Et objekt er obligatorisk ??h

Jeg får følgende fejlmedd.:

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: '[string: "test@test.dk"]'
/fejlside/Default.asp, line 52

Ved afvikling af denne kode:

<%
'Variabler
  Dim objFS
  Dim objFile
  Dim dtmTimestamp
  Dim strMappedFile
  Dim sendResult

  'Sti til den tekstfil, der indeholder info om hvornår sidste mail er sendt
  strMappedFile = Server.MapPath("lastSentMail.txt")
  Set objFS = Server.CreateObject("Scripting.FilesystemObject")
  'Hvis filen eksisterer   
  If objFS.FileExists(strMappedFile) Then
    Set objFile = objFS.OpenTextFile(strMappedFile,1)
    'Så aflæs, hvornår sidste mail er sendt
    dtmTimestamp = objFile.ReadLine
    objFile.Close
    Set objFile = Nothing
    'Hvis det er over 12 timer siden, mailen blev sendt
    If DateDiff("h", dtmTimestamp, Now) > 12 Then
    'Send mailen
      sendResult = sendMail
      If sendResult = true Then
          'Skriv nuv. dato + klokkeslæt til filen
          Call WriteFile(objFS, strMappedFile)
      End If
    End If
  'Ellers Hvis filen ikke eksisterer
  Else
  'Send mailen
    sendResult = sendMail
    If sendResult = true Then
        'Skriv nuv. dato + klokkeslæt til filen
        Call WriteFile(objFS, strMappedFile)
    End If
  End If

  Set objFS = Nothing

%>

Vi beklager fejlen bla-bla-bla

<%

Function sendMail
      Dim mailAdr
      Dim output
     
      Set mailAdr = getMailAdr
      Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
      Mailer.FromName = "Fejlside"
      Mailer.FromAddress= "korrekt@email.adr"
      Mailer.RemoteHost = "mail-test.uni2.dk"
      Mailer.AddRecipient "modtager", mailAdr
      Mailer.Subject = "Fejltekst-emne"
      Mailer.BodyText = "Her er fejl" & VbCrLf & "Her står fejlteksten"
        If Mailer.SendMail Then
            output = true
        Else
            output = false
        End If
        Set Mailer = Nothing
      sendMail = output
End Function

function getMailAdr
      'Hent mail-adr. i CONF-fil
      Dim objFS
    Dim objFile
    Dim mailAdrFile
    Dim outPut

    Set objFS = Server.CreateObject("Scripting.FileSystemObject")
    mailAdrFile = Server.Mappath("mailAdr.conf")
    Set objFile = objFS.OpenTextFile(mailAdrFile,1)
    outPut = objFile.ReadLine
    Set objFS = Nothing
    objFile.close
    getMailAdr = outPut
End Function

Sub WriteFile(byRef objFS, byVal strMappedFile)
  Dim objFile
  Set objFile = objFS.OpenTextFile(strMappedFile,2)
  objFile.WriteLine(Now)
  objFile.Close
  Set objFile = Nothing
End Sub

%>


- den åbner en fil for at finde mail-modtageren og det er som om det er her, det går galt...
Min fil (mailAdr.conf) er skrevet i notepad og der står ganske enkelt:
test@test.dk

Uden anførselstegn - det går jeg ikke ud fra, der skal være i filen.
Avatar billede eagleeye Praktikant
06. oktober 2004 - 21:30 #1
Prøv at rette:

Set mailAdr = getMailAdr


Til dette uden Set. Set bruges kun til objekter:

mailAdr = getMailAdr
Avatar billede ripley Nybegynder
06. oktober 2004 - 21:36 #2
Jeg tror, du har ret ... nu skal jeg bare lige have testet på en server,
hvor AspMail er installeret - for det er det næste, den brokker sig over (tror jeg).
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