Asp与Com相结合的问题(200分)

  • 主题发起人 主题发起人 hopfield
  • 开始时间 开始时间
to WebBar:
请给我寄一份,谢谢!please mail to:chinatyl@263.net.
 
都说杀IIS就行了。:)
我用ASP+COM+SQL SERVER,感觉挺爽
 
intraBob调试isapi可以,com的不行
To WebBar:
请给我寄一份,谢谢!emil: wxd_bbs@263.net
 
是呀,IIS重启一定行,我试过了
 
不要这样吧,还是回答一些比较实际的问题。我已正在找ASP中如何访问COM组件
提供的RecordSet的答案,我用的InterDev进行ASP的开发,我希望稍修改一下
InterDev提供的RecordSet组件脚本,然后能将COM组件和InterDev的可视化开发
结合在一起。我试过在InterDev环境下,可以调用RecordSet的SetRecordSourse来
重新设值,并且查了一下InterDev中RecordSet的脚本代码,好象如果传入的参数
是对象,它将直接使用传入的参数对象,问题是Delphi提供的RecordSet输出好象
有问题。
 
Delphi中创建一个COM服务器(RemoteDataModel),加一个ADODataSet配置完,在类型库中
加入一个方法GetRecordSet,返回值定为RecordSet**需引用Ms 的ADO对象
function TTest.GetRecordSet: Recordset;
begin
try
ADODataSet1.Open;
Result := (ADODataSet1.Recordset as RecordSet);
except
end;
end;
返回值的RecordSet是在ADODB_TLB.pas中确定的,ADODataSet的RecordSet是在
ADOInt中确定的,其实是一样的都是ADO的RecordSet 2.1,但不知Delphi怎么搞
的,
这样ASP中也可以访问了,可以象操作ADODB创建的数据集一样进行操作。
<HTML>
<BODY>
<TITLE> Testing Delphi ASP </TITLE>
<% Set DelphiASPObj = Server.CreateObject("aspsvr.test")
set Temp = DelphiASPObj.GetRecordSet

Response.Write "目前的总记录数:" &amp;
Temp.RecordCount &amp;
"<BR>"
Response.Write "字段1 " &amp;
Temp.Fields(0)
%>
<HR>

</BODY>
</HTML>
 
To yhfang:
你的方法我已经试过了,可以实现!其实说来好笑,我原来的做法和你差不多,
毛病出在我的Asp脚本里的一个错误。ADOInt里的RecordSet是Delphi封装过的,
所以在Asp里没法认,ADODB_TLB里的RecordSet是原生的RecordSet对象。我们
现在的做法其实就是Microsoft的RDS。
To Sportsman:
可能和我的操作系统及Com对象的类型有关系,重启IIS对我的Com没用,我现在
发现的最好办法就是杀Dllhost。
 
To yhfang:
你的方法我已经试过了,可以实现!其实说来好笑,我原来的做法和你差不多,
毛病出在我的Asp脚本里的一个错误。ADOInt里的RecordSet是Delphi封装过的,
所以在Com里没法认,ADODB_TLB里的RecordSet是原生的RecordSet对象。我们
现在的做法其实就是Microsoft的RDS。
To Sportsman:
可能和我的操作系统及Com对象的类型有关系,重启IIS对我的Com没用,我现在
发现的最好办法就是杀Dllhost。
 
多人接受答案了。
 
to all:
请告诉我如何在类型库中的输出类型中定义为recordset**?
我怎么也加不上去
 
后退
顶部