delphi中编写的DLL如何传递一个字符串给VB ( 积分: 0 )

  • 主题发起人 主题发起人 丁满
  • 开始时间 开始时间

丁满

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi中编写的DLL函数返回一个STRING类型,在VB中调用出错,是何道理?
是否要用指针?
谢谢!
 
delphi中编写的DLL函数返回一个STRING类型,在VB中调用出错,是何道理?
是否要用指针?
谢谢!
 
//Visual Basic
Public Declare Function GetMsg Lib "../dlltest.dll"
(ByRef Str As String) As Boolean
Private Sub Command1_Click()
[red]Dim Str As String * 100[/red]
On Error Resume Next
If GetMsg(Str) then
Text1.Text = Str
else
MsgBox "error"
End If
End Sub

//Delphi
function GetMsg(var Str: PChar): BOOL;
stdcall;
begin
try
StrPCopy(Str,'this is a string from dll');
Result := True;
except
on Exceptiondo
Result := False;
end;
//except
end;
 
用pchar类型
 
非常感谢各位,按照各位的提示,我已圆满得出结果。
我比较熟悉VB,DELPHI刚学不久,各位有何VB方面的问题只要我能做到一定不遗余力。
斑竹请结帖。
 
后退
顶部