H
hedasan
Unregistered / Unconfirmed
GUEST, unregistred user!
本人在用delphi调用一个dll文件,此文件使用VC所写,其中的一个函数具体为<br> 【函数原型】<br>BOOL WINAPI Login_R(LPCTSTR SystemID, LPCTSTR Password); <br> 【参数说明】<br> SystemID 类型:LPCTSTR,最大长度为15个字符<br> 意义:在信息中心注册的接口名。<br> Password 类型: LPCTSTR,最大长度为8个字符<br> 意义;接口密码。<br>我在DELPHI中是这样定义调用的,是大概如下:<br>定义:<br>function Login_R(SystemID,LPCTSTRchar):boolean;stdcall;external 'Project1.dll';<br>调用:<br>var<br>p1char;<br>p2char;<br> begin<br> p1:='xxxxx';<br> p2:='yyyyyy';<br> if Login_R(p1,p2)<br> then <br> showmessage('ok');<br> else<br> showmessage('fail');<br>程序变异或执行都无异常,可是Login_R(p1,p2)不管输入参数为何值,总是输出为FALSE,此DLL无错,在VC中调用<br>只要参数正确就会返回TRUE,是不是DELPHI处理PCHAR变量不能像我那样写,我听说PCHAR调用前要分配内存,请各位<br>大侠帮我写一个正确的写法。