我在bcb里面,需要一个dll :export,格式如下调用 extern :"C" :__declspec(dllexport) :__stdcall :int :CreateInfo( : : : : : : : :char :* :AFileName) //函数功能:接收文件名,进行一些文件的装入流操作 //参数AFileName,绝对文件名 :如: :C:\Temp\bb.ass 但是用DElphi7调用,此函数时,我的调用声明和操作如下: function :CreateInfo(AFileName: :Pchar): :WordBool:external :'tempdll.dll': var : :savefile:string: :savefile:='C:\aaa.$$S': : : :CreatePrintInfo(PChar(savefile)): 但是通过debug,传送值,在bcb传送的得到不是'C:\aaa.$$S': 在bcb调用时,这样处理 extern :"C" :__declspec(dllexport) :__stdcall :int :CreateInfo( : : : : : : : :char :* :AFileName) { : :AnsiString :bb=AFileName: : : : :if :(!FileExists(bb)) : : : :{ .... 但是跟踪后,bb的值是 :\\? :
function CreateInfo(AFileName: Pchar): WordBool;external 'tempdll.dll'; 改为
function CreateInfo(AFileName: PAnsiChar): Integer; stdcall; external ...;
你好,因为不能自己回答自己的问题,所以新开了一个帐号。我用的是D7,测试了,还是不行
tks,可以了,多谢