我在客户端的代码如下,调用WEB SERVICE一端的时候,WEB SERVICE返回一个数值
CoInitialize(nil);
try
HTTPRIO1.URL := 'http://localhost/scripts/package.dll/soap';
packobj := HTTPRIO1 as Ipackage;
packobj.packdata(par1);
finally
CoUninitialize;
packobj := nil;
end;
这段代码我放在了一个客户端的一个定时器下让它500毫秒访问一次WEB SERVICE端,但是这样内存的使用会不断增长
CoInitialize(nil);
try
HTTPRIO1.URL := 'http://localhost/scripts/package.dll/soap';
packobj := HTTPRIO1 as Ipackage;
packobj.packdata(par1);
finally
CoUninitialize;
packobj := nil;
end;
这段代码我放在了一个客户端的一个定时器下让它500毫秒访问一次WEB SERVICE端,但是这样内存的使用会不断增长
这句也可以放到FORM 的ONCREATE或ONSHOW里去
HTTPRIO1.URL := 'http://localhost/scripts/package.dll/soap';
把PACKOBJ放到FORM中作为一个成员,这样下面这句也可以在FORM ONCREATE等里执行一次即可
packobj := HTTPRIO1 as Ipackage;
这样在定时器中只要执行这一句即可,这样再试试看还有没有
packobj.packdata(par1);
Iscanws为WEB SERVICE的接口,但是我在把它添加到FORM成员时会出现错误:Undeclared identifier: 'Iscanws'。找不到'Iscanws'此接口,这该怎么办呢?
HTTPRIO1.URL := 'http://localhost/scripts/package.dll/soap/IMyService';
另外总是很频繁的出现,“文档的顶层无效“的错误。怎么办呢?客户端完整代码:
var
scanobj: Iscanws;
cc: integer;
begin
CoInitialize(nil);
try
HTTPRIO1.URL := 'http://localhost/scripts/scanwebservice.dll/soap';
scanobj := HTTPRIO1 as Iscanws;
cc := scanobj.scan(2);
ListBox1.Items.Clear;
ListBox1.Items.Add(inttostr(cc));
finally
CoUninitialize;
scanobj := nil;
end;服务端的完整代码:
function Tscanws.scan(port: integer): integer;
begin
result := port;
end;
此函数为服务端的接口函数
另外上述的客户端代码是放在了一个定时器下边的,HTTPRIO1也是静态的放到FORM上的控件请各位帮忙找一下问题!