首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

VB 申明转 DELPHI解决思路

2012-10-23 
VB 申明转 DELPHIPrivate Declare Function MSTC Lib test.dll Alias XFile (ByVal k As String, ByVa

VB 申明转 DELPHI
Private Declare Function MSTC Lib "test.dll" Alias "XFile" (ByVal k As String, ByVal G As String) As String

function MSTC(k:string;G:string):string;stdcall;external 'test.dll' Name 'XFile';

把这句转成DELPHI的,我自己转了很多次,都是不成功,用VB 调用这个DLL正常,我转成DELPHI的exe就自动退出了.不知道问题在那了.

[解决办法]
把string换成pchar试试
[解决办法]
VB中String 实际上就是OLE标准的BSTR,在Windows SDK中的定义中
typedef OLECHAR* BSTR;
typedef WCHAR OLECHAR;
typedef wchar_t WCHAR;
所以,它实际上是宽字符指针,
delphi中有StringToWideChar函数,你使用它转换成PWideChar

function MSTC(k:PWideChar;G:PWideChar):PWideChar;stdcall;external 'test.dll' Name 'XFile';
[解决办法]

Delphi(Pascal) code
function MSTC(k:PWideChar;G:PWideChar):PWideChar;stdcall;external 'test.dll' Name 'XFile'; 

热点排行