> Fortæl hvordan du fanger værdier "uderfra" ind i dine variabler.
> Det er vel ligegyldigt hvilken dll der skal fange do.
Jeg sender referencen til ASP's Request ind i min DLL:
Efter oprettelse af ny ActiveX Dll - sørges for, at flg. er afkrydset i
referencer [Project -> References]:
"Microsoft Active Server Pages Object Library"
Jeg har delt det op i VB og ASP
Sørg for at have de rigtige rettigheder når du eksekverer ASP.
For at debugge skal du huske at
- køre i LOW (i IIS'en)
- have aktiveret Debugging under Configuration i IIS'en
- IKKE have .Net Framework - dens JIT-kompiler har det med at f**** tingene
op
Du har lyst til at debugge - for ellers kan du ikke se "Debug.Print"
Har testet: det virker hos mig !!!
Min dll hedder project1111 og klassen class1 (originalt hva?)
Koden i class1 er som følger:
' --------------- Start --------------------
Option Explicit
Public Function test(ByRef oRes As ASPTypeLibrary.Response)
'Her udskrives gennem Response - objektet
oRes.Write Time
End Function
Public Function test2(ByRef oReq As ASPTypeLibrary.Request)
' Her hentes data fra Request - objektet
' Det er her du skal ind og trylle og lave magiske ting
Debug.Print oReq.Item("txtTest")
End Function
' --------------- End --------------------
ASP - koden er som følger
' --------------- Start --------------------
<% Option Explicit %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<form name="frmTest">
<input type="text" id="txtTest" name="txtTest" value="<%=
Request("txtTest") %>">
<br />
<input type="submit" />
</form>
<%
Dim oTest: set oTest = Server.CreateObject("Project1111.class1")
if Request("txtTest") <> "" then
call oTest.test2(Request)
else
call oTest.test(Response)
end if
%>
</BODY>
</HTML>
' --------------- End --------------------
/robert