delphi7调用webservice(VS.net)在自定义dll文件中声明以下函数(delphi编写)
////////////////////////////////////////////////////////////////////////////////////
function Getdefurl(user_id:WideString;password:WideString; software:WideString; ver:WideString;group_id:WideString;creditkey:WideString;var userdata:WideString;var errmsg:WideString):integer;stdcall;////////////////////////////////////////////////////////////////////////////////////procedure TForm1.webserviceClick(Sender: TObject);
type
TIntFunc = function(user_id:WideString;password:WideString; software:WideString; ver:WideString;group_id:WideString;creditkey:WideString;var userdata:WideString;var errmsg:WideString):integer;stdcall;
var
Th:Thandle;
Tf:TIntFunc;
Tp:TFarProc;
str1,str2:String ;
s1,s2,s3,s4,s5,s6:String;begin
s1:=edit1.text;
s2:=edit2.text;
s3:=edit3.text;
s4:=edit4.text;
s5:=edit5.text;
s6:=edit6.text; Th:=LoadLibrary('C:\WINDOWS\system32\uskydll.dll');
if Th>0 then
try
Tp:=GetProcAddress(Th,PChar('Getdefurl'));
if Tp<>nil then
begin
try
Tf:=TIntFunc(Tp); Tf(s1,s2,s3,s4,s5,s6,@str1,@str2 );
finally
end; userdatat.caption :=str1;
errmsgt.caption :=str2; end
else
ShowMessage('Getdefurlº¯ÊýûÓÐÕÒµ½');
finally
FreeLibrary(Th);
end
else
ShowMessage('uskydll.dllûÓÐÕÒµ½');
end;
错误信息如下:
[Error] test.pas(116): Types of actual and formal var parameters must be identical
[Fatal Error] apptest.dpr(6): Could not compile used unit 'test.pas'各位大虾,请帮忙看看。
////////////////////////////////////////////////////////////////////////////////////
function Getdefurl(user_id:WideString;password:WideString; software:WideString; ver:WideString;group_id:WideString;creditkey:WideString;var userdata:WideString;var errmsg:WideString):integer;stdcall;////////////////////////////////////////////////////////////////////////////////////procedure TForm1.webserviceClick(Sender: TObject);
type
TIntFunc = function(user_id:WideString;password:WideString; software:WideString; ver:WideString;group_id:WideString;creditkey:WideString;var userdata:WideString;var errmsg:WideString):integer;stdcall;
var
Th:Thandle;
Tf:TIntFunc;
Tp:TFarProc;
str1,str2:String ;
s1,s2,s3,s4,s5,s6:String;begin
s1:=edit1.text;
s2:=edit2.text;
s3:=edit3.text;
s4:=edit4.text;
s5:=edit5.text;
s6:=edit6.text; Th:=LoadLibrary('C:\WINDOWS\system32\uskydll.dll');
if Th>0 then
try
Tp:=GetProcAddress(Th,PChar('Getdefurl'));
if Tp<>nil then
begin
try
Tf:=TIntFunc(Tp); Tf(s1,s2,s3,s4,s5,s6,@str1,@str2 );
finally
end; userdatat.caption :=str1;
errmsgt.caption :=str2; end
else
ShowMessage('Getdefurlº¯ÊýûÓÐÕÒµ½');
finally
FreeLibrary(Th);
end
else
ShowMessage('uskydll.dllûÓÐÕÒµ½');
end;
错误信息如下:
[Error] test.pas(116): Types of actual and formal var parameters must be identical
[Fatal Error] apptest.dpr(6): Could not compile used unit 'test.pas'各位大虾,请帮忙看看。
解决方案 »
- (delphi)获得指定目录下,指定后缀名的所有文件的文件名......
- Delphi 三层中 服务器 如何不定时的向 客户端 广播消息?
- delphi 一组数据排列组合的最优算法
- 以下这段代码可不可以用一个循环代码?
- 这种思路该怎么实现?谢谢指点
- 请问怎么把一个jpg图片转成字符串存到数据库中,读取数据的时候又怎样把该字符串转成图片显示出来呢
- 我的Delphi6找不到TDataSetProvider等多层开发的组件?
- c/s数据库程序中的一个小功能:将文件传至服务器指定的目录,高分求源码
- 简单问题,有答必有分。。。。进来看看呀!!!
- 数据库是SQL server,有个表的字段是numeric型,小数位数15位,通过ADOTable连接,但输入有10位数字后,保存、显示只有4位小数,何解?
- 一个关于filewrite的问题
- Pansichar,Tboldfield请问各位大侠这两个单词是什么意思?
建议将这个函数改造为过程,将返回参数定义为输出参数。