关注我们

关注我们

了解我们的产品和服务,有任何疑问、意见或合作需求,可关注本微博与我们在线沟通。

盒子问答悬赏微博

[单人中标] dll字符串参数传递问题

分享任务:
√ 问题已解决
102
发布者 yf142857
浏览量
回答数 3

任务详情


问题补充

我在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的值是 :\\?
 :
  • 欢迎访问 Delphi@smth.org: 

    function CreateInfo(AFileName: Pchar): WordBool;external 'tempdll.dll'; 改为

    function CreateInfo(AFileName: PAnsiChar): Integer; stdcall; external ...;

      回答于:2012/5/2 14:53:22      #1楼 奖励火柴:102
    用户头像
  •  

    欢迎访问 Delphi@smth.org

    你好,因为不能自己回答自己的问题,所以新开了一个帐号。我用的是D7,测试了,还是不行

      回答于:2012/5/2 15:49:44      #2楼 奖励火柴:0
    用户头像
  •  

    欢迎访问 Delphi@smth.org

    tks,可以了,多谢

      回答于:2012/5/2 18:27:46      #3楼 奖励火柴:0
    用户头像
刷新 首页 上一页 下一页 末页 页次1/1页 共 3 条记录  转到:
x
您的任务被发布者审核为不合格

原因

详细说明

关于盒子问答
盒子问答为广大程序员提供一个迅速解决问题的好途径,帮助有编程疑惑的程序员轻松发问答。同时授业解惑的人,可以得到相应的收入。帮人解答并赚钱就来盒子问答。
联系我们
我们的服务支持邮件:webmaster@2ccc.com,支持qq:161945
如有建议或意见,可通过右侧“用户反馈”告诉我们
收藏本站
用户反馈