webForumDet fria alternativet

Response & Request

9 svar · 416 visningar · startad av LilleSkutt

LilleSkuttMedlem sedan feb. 2001265 inlägg
#1

Hallå!
Jag håller på att skapa komponenter mha ASP, och har stött på ett problem...

Jag vill använda ASP's objekt Response och Request. Att använda Response var inga som helst problem, men när jag sedan använder samma tillvägagångssätt för att använda Request får jag felmeddelandet "Invalid use of property".

Så här gör jag:

Option Explicit
Dim cont As ObjectContext
Implement ObjectControl

Private Sub ObjectControl_Activate()
     Set cont = GetObjectContext()
End Sub

Private Function ObjectControl_CanBePooled() As Boolean
     ObjectControl_CanBePooled = False
End Function

Private Sub ObjectControl_Deactivate()
     Set cont = Nothing
End Sub

Public Sub minSubb()
     Dim resp As Response
     resp = cont("Response") 'Funkar!
     '-------
     Dim requ As Request
     requ = cont("Request") 'Funkar inte...
End Sub

Någon som vet vad jag gör för fel?

------------------
---
/* LilleSkutt */

fredrikMedlem sedan dec. 19991 072 inlägg
#2

hmmm...är du säker på att ditt "resp" objekt verkligen fungerar?

jag tror nämligen att du måste instansiera objektet med "set" innan du kan använda det.

Det borde vara därför du får felet "Invalid use of property" eftersom du försöker tilldela en variabel ett objekt som antagligen ligger som en "property procedure set" och därför kräver "set".

Prova att istället sätta:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
set resp = cont("Response")
set requ = cont("Request")

Så ska det fungera.

Sen behöver du inte implementera "ObjectControl" utan kan sätta din "objectcontext" till "GetObjectContet" i "Class_initialize" händelsen, samt radera instansen i "Class_terminate".

------------------
Fredrik Klarqvist
f.klarqvist@spray.se
http://server.webwerkstaden.se/fredde/

LilleSkuttMedlem sedan feb. 2001265 inlägg
#3

Tack för ditt svar! Dock har det inte löst sig...

Jag hängde inte riktigt med i det där med GetObjectContent, så jag har nu gjort så här:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Option Explicit

Private cont As ObjectContext
Implements ObjectControl

Private resp As Response
Private req As Request

Public Sub Class_Initialize()
    Set resp = cont("Response")
    Set req = cont("Request")
End Sub

Public Sub minSubb()
    Dim str As String
    str = req.QueryString("minQueryString")
    resp.Write str
End Sub

Private Sub ObjectControl_Activate()
    Set cont = GetObjectContext()
End Sub

Private Function ObjectControl_CanBePooled() As Boolean
    ObjectControl_CanBePooled = False
End Function

Private Sub ObjectControl_Deactivate()
    Set cont = Nothing
End Sub

Funkar inte... :(

------------------
---
/* LilleSkutt */

LilleSkuttMedlem sedan feb. 2001265 inlägg
#4

Kan lägga till att jag får felmeddelandet
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Object variable or With block variable not set

när jag försöker köra koden:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
<%
set tmp = server.createobject("Temp.Test")
tmp.minSubb
set tmp = nothing
%>

------------------
---
/* LilleSkutt */

LilleSkuttMedlem sedan feb. 2001265 inlägg
#5

My god, nu har det uppstått flera problem :l

Istället för att skriva ut saker och hämta in saker med Response och Request har jag nu blivit tvungen att skicka strängar fram och tillbaka för att få det att gå ihop. Om någon har en lösning på mitt ovanstående problem vore jag den personen evigt tacksam...

Nytt problem:
Varför kan jag inte skapa arrayer? Så här gör jag:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Dim arrMonths As String
arrMonths = Array("Jan", "Feb", "Mar", "Apr", osv...)

Men jag får ett felmeddelande på det! Vad gör jag fel?

------------------
---
/* LilleSkutt */

[Redigerat av LilleSkutt den 03 okt 2001]

@ndersMedlem sedan juni 200032 969 inlägg
#6

Se här:
http://program.webforum.nu/wf/Forum25/HTML/000119.html

Mvh,

------------------
All your base are belong to me.

LilleSkuttMedlem sedan feb. 2001265 inlägg
#7

Jo, tack :)
Gjorde en enkelt sökning på nätet och hittade precis... Kanske skulle ha gjort det innan jag gjorde inlägget. :r

Du har ingen aning om vad som kan vara felet i mitt första problem? :q

Tack ivf, @nders!

------------------
---
/* LilleSkutt */

fredrikMedlem sedan dec. 19991 072 inlägg
#8

Jag kan bidra med att den kod jag använder är följande:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Private objCxt As ObjectContext

Private Response As ASPTypeLibrary.Response
Private request As ASPTypeLibrary.request
Private Server As ASPTypeLibrary.Server

Private Sub Class_Initialize()
Set objCxt = GetObjectContext()
Set Response = objCxt.Item("Response")
Set request = objCxt.Item("Request")
Set Server = objCxt.Item("Server")
End Sub

Private Sub Class_Terminate()
Set objCxt = Nothing
Set Response = Nothing
Set request = Nothing
Set Server = Nothing
End Sub

Sen är det bara att andvända "response", "request" och "server" som om det vore från ASP.

Du behöver alltså inte implementera objekts-kontrollen om du inte ska köra komponenten med transaktions-hantering i MTS/COM+.

------------------
Fredrik Klarqvist
f.klarqvist@spray.se
http://server.webwerkstaden.se/fredde/

LilleSkuttMedlem sedan feb. 2001265 inlägg
#9

Ok, tack. Ska prova nästan direkt :)
Jag har gjort sådär, förut, men jag kanske gjorde nåt litet fel.

Återkommer om det inte funkar!

------------------
---
/* LilleSkutt */

LilleSkuttMedlem sedan feb. 2001265 inlägg
#10

Funkade perfa, tack ska du ha!

------------------
---
/* LilleSkutt */

249 ms totalt · 3 externa anrop · v20260731065814-full.30151723
129 ms — hämta forumlista (db)
118 ms — hämta statistik (db)
125 ms — hämta tråd, inlägg och bilagor (db)