我正在将代码从 Delphi 7 转换为 Epanet 的 XE3。我的问题与用 C 编译的 dll 中的 *char 有关。
dll中的代码如下:
int DLLEXPORT ENopen(char *f1, char *f2, char *f3)
/* Check that file names are not identical */
....
if (strcomp(f1,f2) || strcomp(f1,f3) || strcomp(f2,f3))
{
writecon(FMT04);
return(301);
}
....
在 delphi 7 中正常工作是这样的:
function ENopen(F1: PChar, F2 : PChar, F3 : PChar) : Integer; stdcall;
在 XE3 中返回 301。我试图将 PChar 更改为 PAnsiChar ,但没有任何运气。