Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1267505
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2009-03-02 11:35:52



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的错误  
  //怎么找都找不到原因,到底为什么?

由此看到Delphi人气不行......

从你的表述上看,这个问题与WebService没有关系.我想问问,你在你的测试线程中去实现了Execute这个方法了吗?

你们这些捣蛋鬼.人家是很认真问问题的,不是说笑的哈.  
   
  请妖哥,把这个问题好好解释.  
  如果解释不清,就扣你10000分.  
  解释好了老冯给你一颗LOLLIPOP.

对不起,发错了。

哎。。。没有人来。。。。

TThread是抽象类,   请LZ看看在你的测试线程中没有去实现EXECUTE?

我把上面那一段拷贝到线程的EXECUTE了

问题就是如上所说

把涉及到的webservice那几行注掉看看  
  getifilews里面是什么??  
  另:   线程里面就没有caption了

在线程中使用,代码要加上     CoInitialize与     CoUnInitialize  
   
   
  //线程开始  
      CoInitialize(nil);  
  try  
  ...//创建RIO  
  ...//调用  
   
  finally  
      CoUnInitialize;  
  end;  
 

====  
  在Create和Destory里我做了CoInitialize(nil);   CoUnInitialize;  
  ====  
  GetIfilews是获得接口的方法,由WSDL   import   生成。  
  ====  
  现在错误如下:  
  //在主界面ok,线程中这些代码就出现Abstract   Error的错误  
   
  网络上查是说将接口实例化,但是我不知道该怎么改正这个错误。  
  各位达人能不能给个更清晰的说法啊?

主要问题就在GetIfilews里面了,  
  另  
  GetIfilews是获得接口的方法,由WSDL   import   生成     不是很明白

我感觉就是GetIfilews这个函数里面的问题,就看里面做了些什么内容了,应该和函数处理有关系的

哎~~  
  GetIfilews   没有问题。是我的问题。  
   
  这样才ok  
              CoInitialize(nil);  
        try  
              ht:=THTTPRIO.Create(nil);  
              ht.URL:='';  
              ht.WSDLLocation:='';  
              ht.Service:='Ifilewsservic'  
              ht.Port:='ifilewsPort';  
       
              it1:=ht   as   Ifilews;  
              it1.xxx(...)  
        finally  
                  CoUnInitialize;  
        end;  
  归根到底还是自己对WebService传输过程不了解。谢谢大家关注。



--------------------------
新闻:上海最快3月底推TD上网本
导航:博客园首页  知识库  新闻  招聘  社区  小组  博问  网摘  找找看
阅读(426) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~