webForumDet fria alternativet

suckar

12 svar · 176 visningar · startad av Rinaldo

RinaldoMedlem sedan mars 20014 214 inlägg
#1

jag använder(försöker använda) emmisions
kod på min sida men det funkar inte. Jag har bara ändrat koden lite så att den ser ut som följer:

Men jag får detta felKörningsfel i

Microsoft VBScript (0x800A01B6)
Objektet stöder inte egenskapen eller metoden.: 'm_objRxp.Multiline'
/p86/parser.asp, line 150meddelande:

<%
Class EMarkupParser
	
	Private m_colTags
	Private m_objRxp
    Private m_strTagLIst
	Private m_blnURLify
	Private m_blnAllowHTML
	Private m_strTarget

	Public Property Let URLify(DoURLify)
		m_blnURLify=DoURLify
	End Property

	Public Property Let AllowHTML(DoAllowHTML)
		m_blnAllowHTML=DoAllowHTML
	End Property
	
	Public Property Let Target(LinkTarget)
		m_strTarget=LinkTarget
	End Property

	Private Sub AddToList(TagName)
		m_strTagLIst=m_strTagLIst & "&#0124;" & TagName
	End Sub

	Private Property Get TagList
		If len(m_strTagLIst)>1 Then
			TagLIst=mid(m_strTagLIst,2)
		Else
			TagLIst=""
		End If
	End Property

	Public Sub AddTag(TagName,Replacement,ParseContents)
		Dim s_objTag
		Set s_objTag=new ETag
		Set s_objTag.Parser=Me
		s_objTag.TagName=TagName
		s_objTag.Replacement=Replacement
		m_colTags.Add cstr(m_colTags.Count),s_objTag
		If not ParseContents Then AddToList(TagName)
	End Sub

	Public Sub AddAttrTag(TagName,Replacement,ParseContents)
		Dim s_objTag
		Set s_objTag=new EAttrTag
		Set s_objTag.Parser=Me
		s_objTag.TagName=TagName
		s_objTag.Replacement=Replacement
		m_colTags.Add cstr(m_colTags.Count),s_objTag
		If not ParseContents Then AddToList(TagName)
	End Sub

	Public Sub AddSingleTag(TagName,Replacement)
		Dim s_objTag
		Set s_objTag=new ESingleTag
		Set s_objTag.Parser=Me
		s_objTag.TagName=TagName
		s_objTag.Replacement=Replacement
		m_colTags.Add cstr(m_colTags.Count),s_objTag
	End Sub

	Public Sub AddQuickTag(StartTag,EndTag,StartReplacement,EndReplacement,ParseContents)
		Dim s_objTag
		Set s_objTag=new EQuickTag
		Set s_objTag.Parser=Me
		s_objTag.StartTag=StartTag
		s_objTag.EndTag=EndTag
		s_objTag.StartReplacement=StartReplacement
		s_objTag.EndReplacement=EndReplacement
		m_colTags.Add cstr(m_colTags.Count),s_objTag
		If not ParseContents Then AddToList(TagName)
	End Sub

	Public Function Parse(TextToParse)
		dim f_strText,f_strTag
		f_strText=TextToParse
		f_strText=Replace(f_strText,"##",chr(1))
		If Not m_blnAllowHTML Then
			f_strText=Replace(f_strText,"<","<")
			f_strText=Replace(f_strText,">",">")
		End If
		m_objRxp.Pattern="(\[(" & TagLIst & ")(=[^\]]*?)?\])(.*?)(\[/\2\])"
		For Each f_objMatch in m_objRxp.Execute(f_strText)
			f_strText=Replace(f_strText,f_objMatch.Value,f_objMatch.Submatches(0) & Replace(f_objMatch.Submatches(3),"[",chr(0)) & f_objMatch.Submatches(4))
		Next
		For Each f_objTag in m_colTags
			f_strText=m_colTags(f_objTag).Parse(f_strText,m_objRxp)
		Next
		If m_blnURLIfy Then
			f_strText=ParseURLs(Replace(Replace(f_strText,chr(0),"["),chr(1),"##"),m_strTarget)
		Else
			f_strText=Replace(Replace(f_strText,chr(0),"["),chr(1),"##")
		End If
		
		Parse=Replace(f_strText,vbcrlf,"<BR>" & vbcrlf)
	End Function

	

	Public Function ParseURLs(TextToParse,LinkTarget)
		dim f_strText
		f_strText=TextToParse
		m_objRxp.Pattern="(^&#0124;[^""])(http://&#0124;https://&#0124;ftp://&#0124;mailto:&#0124;file://&#0124;telnet://&#0124;gopher://)([\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]&#0124;$)"
		f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""$2$3"" class=""black"">$2$3</a>$4")
		m_objRxp.Pattern="(^&#0124;[^\w/>])(www\.[\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]&#0124;$)"
		f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""http://$2"" class=""black"">$2</a>$3")
		'objRxp.Pattern = "(\w+((-\w+)&#0124;(\.\w+))*\@[A-Za-z0-9]+((\.&#0124;-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
		m_objRxp.Pattern="(^&#0124;[^:>\w])([\w\.]*@[\w\.\-]*\.\w{2,3})(\b&#0124;$)"
		f_strText=m_objRxp.Replace(f_strText,"$1<a href=""mailto:$2"" class=""black"">$2</a>")
		ParseURLs=f_strText
	End Function
	
	Public Function RegExpEncode(TextToParse)
		m_objRxp.Pattern="([\\\^\$\*\+\?\.\(\)\&#0124;\{\}\[\]])"
		RegExpEncode=m_objRxp.Replace(TextToParse,"\$1")
	End Function

	Public Function ParseLength(strText)
	arrText = Split(strText, " ")
	
	For counter = 0 To uBound(arrText)
		If Len(arrText(counter)) > 40 then
			If newText <> "" then
				newText = newText & " " & Left(arrText(counter), 50) & " " & Right(arrText(counter), Len(arrText(counter))-50)
			Else
				newText = Left(arrText(counter), 50) & " " & Right(arrText(counter), Len(arrText(counter))-50)
			End If
		Else
			If newText <> "" then
				newText = newText & " " & arrText(counter)
			Else
				newText = arrText(counter)
			End If
		End If
	Next
	
	ParseLength = newText
	End Function

	
	Private Sub Class_Initialize
		Set m_colTags=Server.CreateObject("Scripting.Dictionary")
		Set m_objRxp=New RegExp
		m_objRxp.Global=True
		m_objRxp.IgnoreCase=True
		m_objRxp.Multiline=True
		m_strTarget="_blank"
		m_blnAllowHTML=false
		m_blnURLify=true
	End Sub

	

End Class

Class ETag
	Public TagName
	Public Replacement
	Public Parser
	Private c_strTag
	Public Function Parse(TextToParse,objRxp)
		On Error Resume Next
		Dim f_strPattern
		If Parser Is Nothing Then
			c_strTag=TagName
		Else
			c_strTag=Parser.RegExpEncode(TagName)
		End If
		f_strPattern=Replace(Replacement,"##contents##","$1")
		objRxp.Pattern="\[" & c_strTag & "\]((.&#0124;\s)*?)\[/" & c_strTag & "\]"
		Parse=objRxp.Replace(TextToParse,f_strPattern)
		If Err.Number<>0 Then Parse=TextToParse
	End Function
End Class

Class EAttrTag
	Public TagName
	Public Replacement
	Public Parser
	Private c_strTag
	Public Function Parse(TextToParse,objRxp)
		On Error Resume Next
		Dim m_strPattern
		If Parser Is Nothing Then
			c_strTag=TagName
		Else
			c_strTag=Parser.RegExpEncode(TagName)
		End If
		m_strPattern=Replace(Replace(Replacement,"##contents##","$2"),"##attr##","$1")
		objRxp.Multiline=true
		objRxp.Pattern="\[" & c_strTag & "=([^\]]*?)\]((.&#0124;\s)*?)\[/" & c_strTag & "\]"
		Parse=objRxp.Replace(TextToParse,m_strPattern)
		If Err.Number<>0 Then Parse=TextToParse
	End Function
End Class

Class ESingleTag
	Public TagName
	Public Replacement
	Public Parser
	Private c_strTag
	Public Function Parse(TextToParse,objRxp)
		On Error Resume Next
		If Parser Is Nothing Then
			c_strTag=TagName
		Else
			c_strTag=Parser.RegExpEncode(TagName)
		End If
		objRxp.Pattern="\[" & c_strTag & "\]"
		Parse=objRxp.Replace(TextToParse,Replacement)
		If Err.Number<>0 Then Parse=TextToParse
	End Function
End Class

Class EQuickTag
	Public StartTag
	Public EndTag
	Public StartReplacement
	Public EndReplacement
	Public Parser
	Private c_strStartTag
	Private c_strEndTag
	Public Function Parse(TextToParse,objRxp)
		On Error Resume Next
		If Parser Is Nothing Then
			c_strStartTag=StartTag
			c_strEndTag=EndTag
		Else
			c_strStartTag=Parser.RegExpEncode(StartTag)
			c_strEndTag=Parser.RegExpEncode(EndTag)
		End If
		objRxp.Pattern="\[" & c_strStartTag & "\]((.&#0124;\s)*?)\[/" & c_strEndTag & "\]"
		Parse=objRxp.Replace(TextToParse,StartReplacement & "$1" & EndReplacement)
		If Err.Number<>0 Then Parse=TextToParse
	End Function
End Class

Set text=New EMarkupParser
With text

	.URLIfy=true
	.Target="_blank"

	.AddQuickTag "b","b","<b>","</b>",true
	.AddQuickTag "i","i","<i>","</i>",true

	.AddQuickTag "big","big","<big>","</big>",true
	.AddQuickTag "small","small","<small>","</small>",true

	.AddTag "img","<img src=""##contents##"">",false
	.AddAttrTag "img","<img alt=""##attr##"" src=""##contents##"">",false

	.AddTag "email","<a href=""mailto:##contents##"" class=""black"" style=""text-decoration:underline"">##contents##</a>",false
	.AddAttrTag "mailto","<a href=""mailto:##attr##"" class=""black"" style=""text-decoration:underline"">##contents##</a>",false

	.AddTag "url","<a target=""_blank"" href=""##contents##"" class=""black"" style=""text-decoration:underline"">##contents##</a>",false
	.AddAttrTag "url","<a target=""_blank"" href=""##attr##"" class=""black"" style=""text-decoration:underline"">##contents##</a>",false

	.AddQuickTag "list","list","<ul type=""square"">","</ul>",true
	.AddQuickTag "list=A","list","<ol type=""A"">","</ol>",true
	.AddQuickTag "list=1","list","<ol type=""1"">","</ol>",true

	.AddQuickTag "red","red","<font style=""color: red"">","</font>",true
	.AddQuickTag "blue","blue","<font style=""color: blue"">","</font>",true
	.AddQuickTag "green","green","<font style=""color: green"">","</font>",true

	.AddSingleTag "*","<li>"
	.AddQuickTag "citat","citat","<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""1"">Citat:</font><HR color=""#777777"" noshade size=""0""><font face=""Verdana, Arial, Helvetica, sans-serif"" size=""1"" color=""#006666"">","<BR></font><HR color=""#777777"" noshade size=""0"">",true
	.AddQuickTag "viktigt","viktigt","<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""1"" color=""#FF0000"">Viktigt:</font><HR color=""#777777"" noshade size=""0""><font face=""Verdana, Arial, Helvetica, sans-serif"" size=""1"" color=""#000000"">","<BR></font><HR color=""#777777"" noshade size=""0"">",true

End With

response.write text.Parse(Texten)

%>

------------------
Talet är tankens död

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det beror på att du har en ålderdomlig vb-script version. Så vitt jag har förstått så kan du ta bort den raden som innehåller multiline utan att det gör något.

Det diskuteras här
http://cgi.webforum.nu/wf/Forum11/HTML/006110.html

------------------
essentitia preter non sans multiplicandum

@ndersMedlem sedan juni 200032 969 inlägg
#3

Har du senaste Script Engine installerat?

Jag har för mig att class introducerades i version 5.

Kika efter ny version på http://msdn.microsoft.com/scripting

Mvh,

------------------
Don't panic!

RinaldoMedlem sedan mars 20014 214 inlägg
#4

När jag tar bort raden med multilien får jag följade.

Microsoft OLE DB Provider for ODBC Drivers (0x800A139A)
[Microsoft][Drivrutin för ODBC Microsoft Access]Allmänt fel Det går inte att öppna registernyckeln 'Temporary (volatile) Jet DSN for process 0x560 Thread 0x874 DBC 0x21947dc Jet'.
/p86/parser.asp, line 85

samma kod som ovan

------------------
Talet är tankens död

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Felaktiga rättigheter på mappen där databasen finns /fel sökväg.

Du kan ju söka här i forumet.

------------------
essentitia preter non sans multiplicandum

RinaldoMedlem sedan mars 20014 214 inlägg
#6

felaktiga rättigheter?

jag lägger upp sidan här:
allting funkar på min pws http://wt-hoster.mine.nu

------------------
Talet är tankens död

RinaldoMedlem sedan mars 20014 214 inlägg
#7

fel sökväg är det inte för det funkar om jag byter ut detta: "&text.Parse(rs("content"))&" mot "&rs("content")&" i repsonse.write.

r: fel av mig. NÄr jag inte inkluderar parser.asp och skriver "&rs("content")&" istället funkar det...

------------------
Talet är tankens död

[Redigerat av Rinaldo den 03 dec 2001]

RinaldoMedlem sedan mars 20014 214 inlägg
#8

Inget svar.

Om jag då frågar såhär. HUr gör man om koden så att det ska funka utan vbengine5 fast Urlifeiring, och såna saker ska bara kvar...

------------------
Talet är tankens död

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Det här vad som står om volatile på msdn
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q295297

Det finns även inlägg här som förtäljer att detta problem har försvunnit när man ändrat rättigheter/sökväg. Som sagt, du kan söka på volatile och se om något är relevant.

Det databasfel du får kan inte bero på emissions skript.

------------------
essentitia preter non sans multiplicandum

RinaldoMedlem sedan mars 20014 214 inlägg
#10

LarsG: Säkvägen stämmer för det funkar när jag tar bort bort parser.asp och objektet.

OM det beror på felaktiga rättigheter... vad ska jag göra. Det funkar ju på min dator men när jag ska lägga upp den så ballar den ur...?

------------------
Talet är tankens död

RinaldoMedlem sedan mars 20014 214 inlägg
#11

Kan ju lika gärna posta mina andra kod om det hjälper nån att svara...

<!-- #INCLUDE FILE="data/db_connect.asp" -->
<!-- #INCLUDE FILE="tb_content_include/t_content.asp" -->
<%
response.write "<br><table border=0 cellpadding=4 cellspacing=0 width=360><tr><td background=images/background_pattern1.gif></td><td bgcolor=#666666 width=355><font color=#FFFFFF><b>V&auml;lkommen till P-86's offeciella hemsida</font></b></td></tr>"
SQL = "Select * From text_pages Where page = 'inledning'"
rs.OPEN SQL, Databas

response.write " <tr><td colspan=2>"&text.parse(rs("content"))&"</td></tr></table>"
rs.close
%>
<!-- #INCLUDE FILE="tb_content_include/b_content.asp" -->

------------------
Talet är tankens död

Mika3lMedlem sedan nov. 20018 492 inlägg
#12

Angående felmeddelandet:

Om du har databasen öppnad i Access World samtidigt så kan det felmeddelandet komma upp.
Stäng bara databasen och kolla om det fungerar.

Det har blivit så för mig ett par gånger :p

/Mika3l

------------------
Laddar... ;-)

RinaldoMedlem sedan mars 20014 214 inlägg
#13

I ett sista desperat försök postar jag alla kod. Parser.asp har ni ovan
/hosten är wt-hoster.mine.nu

db_connect.asp

<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

Set rs = Server.CreateObject("ADODB.Recordset")
%>

t_content

<%
Response.Buffer = TRUE
Response.Expires = -1500
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control", "no-store"
%>
<!-- #INCLUDE FILE="../parser.asp" -->
<!-- #INCLUDE FILE="../adovbs.inc" -->
<html>
	<head>
		<title>P-86.COM</title>
		<link rel="stylesheet" href="style/style.css">
	</head>
<body>
	<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">
	<tr>
	<td align="center" valign="top">
		<br>
		<br>
		<br>
		<table border="0" cellspacing="0" cellpadding="0" width="640">
		<tr>
		<td align="center" valign="bottom " height="89" colspan="2">
		<object width="640" height="89" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0">
        <param name=movie value="flash/menu_top.swf">
        <param name=quality value=high>
		<PARAM NAME=bgcolor VALUE=#494949>
        <embed width="640" height="89" src="flash/menu_top.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash">
        </embed> 
      	</object>
		</td>
		</tr>
		<tr>
		<td height="1" bgcolor="#333333">
		</td>
		</tr>
		<tr>
		<td bgcolor="#FFFFFF" width="260" height="500" valign="top" align="left">
		<br>
		<!-- #INCLUDE FILE="l_content.asp" -->
		</td>
		<td width="380" bgcolor="#FFFFFF" valign="top" align="center">

default.asp

<!-- #INCLUDE FILE="data/db_connect.asp" -->
<!-- #INCLUDE FILE="tb_content_include/t_content.asp" -->
<%

response.write "<br><table border=0 cellpadding=4 cellspacing=0 width=360><tr><td background=images/background_pattern1.gif></td><td bgcolor=#666666 width=355><font color=#FFFFFF><b>V&auml;lkommen till P-86's offeciella hemsida</font></b></td></tr>"
SQL = "Select * From text_pages Where page = 'inledning'"
rs.OPEN SQL, Databas, adOpenStatic, adLockOptimistic

response.write " <tr><td colspan=2>"&text.parse(rs("content"))&"</td></tr></table>"
rs.close
%>
<!-- #INCLUDE FILE="tb_content_include/b_content.asp" -->

b_content.asp

         
		</td>
		</tr>
		<tr>
		<td height="1" bgcolor="#333333">
		</td>
		</tr>
		<%If Len(Session("medlemID")) = 0 then%>
		<tr>
		<td bgcolor="#CC0000" height="20">
		&nbsp;<font color="#FFFFFF"><b>Du är ej inloggad!</b></font>
		</td>
		<td bgcolor="#CC0000" height="20" align="right">
		<FORM METHOD="POST" ACTION="inloggning.asp">
		&nbsp;<font color="#FFFFFF"><b>Anv: <input type="text" size="10" name="anv">&nbsp;Lös: <input type="password" size="10" name="los">	
		<input type="submit" value="OK">&nbsp;&nbsp;
		</td>
		</tr>
		<%else
		SQL = "Select * from members Where medlemID ="&session("medlemID")&""
		rs.open SQL, Databas
		%>
		<tr>
		<td bgcolor="#CC0000" height="20">
		&nbsp;<font color="#FFFFFF"><b>Välkommen <%=rs("fornamn")%>!</b></font>
		</td>
		<td bgcolor="#CC0000" height="20" align="right">
		<b>
		<%if rs("admin")="ja" then%>
		<a href="advanced_admin/tabell.asp" class="white" target="_blank">Administrera sidan</a> &#0124;
		<%end if%>
		<a href="utloggning.asp" class="white">Logga ut</a></b>&nbsp;
		</td>
		</tr>
		<%
		rs.close
		end if
		%>
		</table>
	</td>
	</tr>
	</table>
<br><br>
</body>
</html>
<%
databas.close 
set databas = nothing
set rs = nothing
%>

------------------
Talet är tankens död

144 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)