Avatar billede loukas Mester
06. januar 2003 - 09:13 Der er 5 kommentarer og
1 løsning

Hvorfor denne fejl ??

Jeg har afprøvet den samme kode på mit webhotel, hvor det virker fint.
På min IIS her hjemme får jeg denne fejl på samme kode???

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01B0)
Fil- eller klassenavnet blev ikke fundet under Automation-handlingen: 'RegExp'
/wwwroot/clsHTMLParser.asp, line 27


Og her er så koden:

Class clsHTMLParser
' ------------------------------------------------------------------------------
    Private mStrHTML
    Private mObjRegExp
    Private mObjMatches
    Private mObjMatch
    Public Title
    Public Keywords
    Public Description
' ------------------------------------------------------------------------------
    Public Property Let HTML(ByRef pStrHTML)
        mStrHTML = pStrHTML

--LINIE27----->Set mObjRegExp = New RegExp<------LINIE 27--
        mObjRegExp.IgnoreCase = True

        Call ParseTitle()
        Call ParseDescription()
        Call ParseKeywords()

        Set mObjMatch = Nothing
        Set mObjMatches = Nothing
        Set mObjRegExp = Nothing

    End Property
' ------------------------------------------------------------------------------
    Public Property Get HTML()
        HTML = mStrHTML
    End Property
' ------------------------------------------------------------------------------
    Private Sub ParseTitle()
        Title = ""
        mObjRegExp.Pattern = "<TITLE>([^<]*)</TITLE>"
        Set mObjMatches = mObjRegExp.Execute(mStrHTML)
        If mObjMatches.Count = 0 Then Exit Sub
        Title = mObjMatches.item(0).Value
        Title = Replace(Title, "<TITLE>", "", 1, -1, vbTextCompare)
        Title = Replace(Title, "</TITLE>", "", 1, -1, vbTextCompare)
    End Sub
' ------------------------------------------------------------------------------
    Private Sub ParseDescription()
        Description = ""
        mObjRegExp.Pattern = "<META[^>]+(name=""description""|content=""([^""]*)"")[^>]+(name=""description""|content=""([^""]*)"")[^>]*>"
        Set mObjMatches = mObjRegExp.Execute(mStrHTML)
        If mObjMatches.Count = 0 Then Exit Sub
        Description = mObjMatches.item(0).Value
        Description = Mid(Description, InStr(1, Description, "content=""", vbTextCompare) + 9)
        Description = Mid(Description, 1, InStr(1, Description, """", vbTextCompare) -1)
    End Sub
' ------------------------------------------------------------------------------
    Private Sub ParseKeywords()
        Keywords = ""
        mObjRegExp.Pattern = "<META[^>]+(name=""keywords""|content=""([^""]*)"")[^>]+(name=""keywords""|content=""([^""]*)"")[^>]*>"
        Set mObjMatches = mObjRegExp.Execute(mStrHTML)
        If mObjMatches.Count = 0 Then Exit Sub
        Keywords = mObjMatches.item(0).Value
        Keywords = Mid(Keywords, InStr(1, Keywords, "content=""", vbTextCompare) + 9)
        Keywords = Mid(Keywords, 1, InStr(1, Keywords, """", vbTextCompare) -1)
    End Sub
' ------------------------------------------------------------------------------
    Public Function GetURL(ByRef pStrURL)

        Dim lObjSpider
        Dim strText

        If pStrURL = "" Then Exit Function

        On Error Resume Next

        ' Different variations of XML objects
        'Set lObjSpider = Server.CreateObject ("MSXML2.XMLHTTP.3.0")
        'Set lObjSpider = Server.CreateObject ("MSXML2.ServerXMLHTTP")
        Set lObjSpider = Server.CreateObject ("Microsoft.XMLHTTP")
       

        ' Could not create Internet Control
        If Err Then
            GetURL = "Error: " & Err.Description
            Exit Function
        End If
       
        On Error Goto 0

        With lObjSpider
            .Open "GET", pStrURL, False, "", ""
            .Send
            GetURL = .ResponseBody
            For i = 0 to UBound(GetURL)                                   
                sOut = sOut & chrw(ascw(chr(ascb(midb(GetURL,i+1,1)))))
            Next
        End With
        Set LobjSpider = Nothing
       

HTML = sOut
       
    End Function
' ------------------------------------------------------------------------------
End Class
Avatar billede niceday Nybegynder
06. januar 2003 - 09:18 #1
Du bruger noget (RegExp), som skal være installeret på serveren. Ved ikke helt hvad det er, så det kan enten være en komponent eller noget helt andet.
Avatar billede loukas Mester
06. januar 2003 - 09:23 #2
Jeg skal lige under søge det.
RegExp = Regular Expression
Avatar billede miknil Nybegynder
06. januar 2003 - 09:41 #3
At du mangler RegExp com objektet skyldes sandsynligvis at din vbScript installation er for gammel, du kan downloade en nyere version her:

http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/733/msdncompositedoc.xml

Michael
Avatar billede loukas Mester
07. januar 2003 - 00:21 #4
Ja, jeg prøvede at gøre som du foreslår <<miknil--
og det virkede !!!
Jeg havde bare forventet at det kørte da jeg har IIS med fra en XP-pro ???
men ja ja!?!?
Tak for hjælpen
Hvis du vil ha' point skal du skrive et svar
Avatar billede niceday Nybegynder
07. januar 2003 - 00:28 #5
Jeg vil da også gerne have på lidt points (samler på dem) - jeg skrev jo den var gal pga. komponenten RegExp i 1. svar :-)
Avatar billede miknil Nybegynder
07. januar 2003 - 13:29 #6
svar :-)
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