VB代码如下,可成功调用Public Declare Function gfJack Lib "e:\AAA.dll" (ByVal plain As String, ByVal count As Long, ByVal result As String) As Long
--------------------------
Dim ReturnValue As Integer
Dim InputString As String
Dim ResultString As String * 35
InputString = "123456"
ReturnValue = gfJack(InputString, Len(InputString), ResultString)
result.Text = ResultString
InputString = inputtext.Text
ReturnValue = gfJack(InputString, Len(InputString), ResultString)
result.Text = ResultString======================
delphi代码如下出错: FUNCTION gfJack(var as_Origin:pchar;ai_Length:Longint;var as_Out:pchar):integer;external 'e:\AAA.dll';
var
a,c:pchar;
i:integer;
begin
a:=pchar('AAAAAAAA');
c:=pchar(' ');
i:=length(a)-1;
gfJack(a,i,c);
showmessage(c);
end; 将a,c改为string类型也出错!(值是通过第三个参数返回的)
如何转成delphi?在线相候,一通过即送分!谢谢!!!!!!!!!!
--------------------------
Dim ReturnValue As Integer
Dim InputString As String
Dim ResultString As String * 35
InputString = "123456"
ReturnValue = gfJack(InputString, Len(InputString), ResultString)
result.Text = ResultString
InputString = inputtext.Text
ReturnValue = gfJack(InputString, Len(InputString), ResultString)
result.Text = ResultString======================
delphi代码如下出错: FUNCTION gfJack(var as_Origin:pchar;ai_Length:Longint;var as_Out:pchar):integer;external 'e:\AAA.dll';
var
a,c:pchar;
i:integer;
begin
a:=pchar('AAAAAAAA');
c:=pchar(' ');
i:=length(a)-1;
gfJack(a,i,c);
showmessage(c);
end; 将a,c改为string类型也出错!(值是通过第三个参数返回的)
如何转成delphi?在线相候,一通过即送分!谢谢!!!!!!!!!!
function gfJack(as_Origin: PChar; ai_Length: Longint; as_Out: PChar): Integer; {stdcall;} external 'e:\AAA.dll';
加上stdcall试试,
如果第三个参数是输出参数,声明前加var
与findcsdn所说的一样:function gfJack(plain: pchar; count: Longint; result: pchar): Integer; stdcall; external 'e:\AAA.dll';
原来用了pchar后,传的已是指针....谢谢各位
findcsdn(findcsdn) 80分,
其他每人5分,
谢谢了