为什么我使用dcom连接时,使用ado.Recordset:=IUnknown(ole) as _Recordset可以,而使用socket连接却出错?

lbd8848 2003-09-09 09:20:49
在使用socket连接时,系统提示:interface not support??
...全文
47 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
leapmars 2003-09-09
  • 打赏
  • 举报
回复
这跟 TSocketConnection 的内部实现有关,TSocketConnection 只支持 dispinterface 的调用方式。

另外,就你所说的“ole类型为中间层函数传过来的数据集”,如果你所传递的是 ADO._Recordset 接口类型,那么是不能赋值给 ClientDataSet.Data 的。虽然两者表面看起来都是 OleVariant 类型,但是却是两码事:一个是接口,一个是字节流(MIDAS 数据包)。

不过,你可以试着把 ole 转换成 _RecordsetDisp,这样说不定可行。
lbd8848 2003-09-09
  • 打赏
  • 举报
回复
等了一上午无人问津!!
现在又出新问题了,
改用clientdataset得到数据集,即clientdataset1.data=ole

提示:invalid data packet

注:ole类型为中间层函数传过来的数据集,类型为olevariant


1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧