我在程序中使用一个线程调用WebService的方法,在该线程运行到调用WebService的方法的语句时就停住了,不再往下运行。在主程序中调用WebService的方法一切正常,在线程中调用主程序的其他方法也一切正常,寻求解决办法。

解决方案 »

  1.   

    以下是程序片段
    procedure TInitForm.FormShow(Sender: TObject);
    var
      InitFormThread : TInitFormThread;
    begin
      InitFormThread := TInitFormThread.Create(false);
    end;procedure TInitFormThread.Execute;
    var
      Init_WS : InitializersSoap;
    begin
      inherited;
      FreeOnTerminate := true;
      Init_WS := HTTPRIO1 as InitializersSoap;
      Init_WS.SetUserData;
    end;
      

  2.   

    以下是程序片段
    procedure TInitForm.FormShow(Sender: TObject);
    var
      InitFormThread : TInitFormThread;
    begin
      InitFormThread := TInitFormThread.Create(false);
    end;procedure TInitFormThread.Execute;
    var
      Init_WS : InitializersSoap;
    begin
      inherited;
      FreeOnTerminate := true;
      Init_WS := HTTPRIO1 as InitializersSoap;
      Init_WS.SetUserData;      //在该处程序就停住不动了,没有任何异常抛出,也不会往下运行。
    end;
      

  3.   

    你是什么类型的WEB SERVICE,如果是WSD类型的,那么应该没什么问题因为WSD类型本身就是COM,如果是ISAPI的就需要在客户端调用的时候加上CoInitialize让他进入COM中