为什么 客户端的同一个 HTTPRIO 不能连续调用2个不同 接口 下 的远程过程 ? ( 积分: 30 )

  • 主题发起人 主题发起人 zysunit
  • 开始时间 开始时间
Z

zysunit

Unregistered / Unconfirmed
GUEST, unregistred user!
如1:
HTTPRIO1.WSDLLocation := 'http://'+IP_Address+'/studyws/websclient.asmx?wsdl';
HTTPRIO1.Service := 'WebSClient';
HTTPRIO1.Port := 'WebSClientSoap';
Result:=(HTTPRIO1 as WebSClientSoap).GetSoftVers;

如2:
HTTPRIO1.WSDLLocation := 'http://'+IP_Add+'/17100WebService/UserInfoService.asmx?wsdl';
HTTPRIO1.Service := 'UserInfoService';
HTTPRIO1.Port := 'UserInfoServiceSoap';
Result:= (HTTPRIO1 as UserInfoServiceSoap).Logon(Trim(EdtU.Text),Trim(EdtP.Text),BookVer);


这个时候就会出现 "interface not supported " 的错误
我要如何处理 才能同一个 HTTPRIO 能连续调用2个不同 接口 下 的远程过程
 
是不是资源没释放啊,建立了一个连接,资源是在本地的,这样写试试呢
var
h1:WebSClientSoap;
h2:UserInfoServiceSoap;
然后
h1 := HTTPRIO1 as WebSClientSoap;
h2 := HTTPRIO1 as UserInfoServiceSoap;
调用的时候
h1.GetSoftVers;
h2.Logon(Trim(EdtU.Text),Trim(EdtP.Text),BookVer);
结束了以后
h1 := nil;
h2 := nil;

这样是为了防止内存泄露的,不知道对你这个有没有用
 
后退
顶部