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 问题
- 【CSDN开心辞典】一共有几个马甲拥有名人牌牌?
- Ado操作DBF文件后被独占如何解决
- delphi的API函数问题
- 请问'dataset not in insert or edit mode'是什么意思?
- 在线等待,解决问题就给分!!关于tidhttp的问题
- 当用鼠标在StringGrid上拖动选择多个单元格,如何判断出哪几个单元格被选中?高手请指教。
- 如何往Excel的Cell里面写数据?附调试代码~
- 请问:怎样用其他的ScrollBar 代替Memo或RichEdit的ScrollBar?
- 一个关于filewrite的问题
- Pansichar,Tboldfield请问各位大侠这两个单词是什么意思?
建议将这个函数改造为过程,将返回参数定义为输出参数。