线程调用webservice出错了。。。

baiduan 2006-12-01 11:03:29
var
ht:Thttprio;
it1:Ifilews;
markinfo:integer;
begin
try
ht:=THTTPRIO.Create(nil);
//it1:=getIfilews(true,'',ht);
it1:=getifilews; ===================>如果是线程,这里会出错
markinfo:=it1.isfileExists('e:\12.txt');
if markinfo=0 then
begin
self.Caption :='文件存在';
end
else
begin
self.Caption:='文件不存在';
end;
finally
ht.Free;
end;
end;
//就以上这段代码,
//在主界面ok,线程中这些代码就出现Abstract Error的错误
//怎么找都找不到原因,到底为什么?
...全文
250 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dabaicai 2006-12-05
  • 打赏
  • 举报
回复
主要问题就在GetIfilews里面了,

GetIfilews是获得接口的方法,由WSDL import 生成 不是很明白
baiduan 2006-12-05
  • 打赏
  • 举报
回复
哎~~
GetIfilews 没有问题。是我的问题。

这样才ok
CoInitialize(nil);
try
ht:=THTTPRIO.Create(nil);
ht.URL:='http://../webservicetest/Filews.dll/soap/ifilews';
ht.WSDLLocation:='http://../webservicetest/Filews.dll/wsdl/ifilews';
ht.Service:='Ifilewsservic'
ht.Port:='ifilewsPort';

it1:=ht as Ifilews;
it1.xxx(...)
finally
CoUnInitialize;
end;
归根到底还是自己对WebService传输过程不了解。谢谢大家关注。
JimmyV 2006-12-05
  • 打赏
  • 举报
回复
我感觉就是GetIfilews这个函数里面的问题,就看里面做了些什么内容了,应该和函数处理有关系的
halfdream 2006-12-04
  • 打赏
  • 举报
回复
在线程中使用,代码要加上 CoInitialize与 CoUnInitialize


//线程开始
CoInitialize(nil);
try
...//创建RIO
...//调用

finally
CoUnInitialize;
end;
dabaicai 2006-12-04
  • 打赏
  • 举报
回复
把涉及到的webservice那几行注掉看看
getifilews里面是什么??
另: 线程里面就没有caption了
baiduan 2006-12-04
  • 打赏
  • 举报
回复
====
在Create和Destory里我做了CoInitialize(nil); CoUnInitialize;
====
GetIfilews是获得接口的方法,由WSDL import 生成。
====
现在错误如下:
//在主界面ok,线程中这些代码就出现Abstract Error的错误

网络上查是说将接口实例化,但是我不知道该怎么改正这个错误。
各位达人能不能给个更清晰的说法啊?
baiduan 2006-12-02
  • 打赏
  • 举报
回复
问题就是如上所说
baiduan 2006-12-02
  • 打赏
  • 举报
回复
我把上面那一段拷贝到线程的EXECUTE了
老冯 2006-12-01
  • 打赏
  • 举报
回复
TThread是抽象类, 请LZ看看在你的测试线程中没有去实现EXECUTE?
baiduan 2006-12-01
  • 打赏
  • 举报
回复
哎。。。没有人来。。。。
老冯 2006-12-01
  • 打赏
  • 举报
回复
对不起,发错了。
老冯 2006-12-01
  • 打赏
  • 举报
回复
你们这些捣蛋鬼.人家是很认真问问题的,不是说笑的哈.

请妖哥,把这个问题好好解释.
如果解释不清,就扣你10000分.
解释好了老冯给你一颗LOLLIPOP.
老冯 2006-12-01
  • 打赏
  • 举报
回复
从你的表述上看,这个问题与WebService没有关系.我想问问,你在你的测试线程中去实现了Execute这个方法了吗?
Eddie005 2006-12-01
  • 打赏
  • 举报
回复
由此看到Delphi人气不行......

1,593

社区成员

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

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