您现在的位置:首页 >> 图形媒体 >> 图形媒体 >> 内容

DSPack Unicode 兼容错误

时间:2012-7-1 20:46:20 点击:

  核心提示:在WaveDest示例工程中,由于字符串格式不符合,导致编译的WaveDest.ax输出的Wave文件无法播放。用二进制打开,发现文件头错误。导致文件错误的是函数FCC。FCC的输入字符串地址传递给文件头的时候,由于是Unicode,导致需要的单字节文字串变成了双字节。错误函数如下: 文件:DXSU...

WaveDest示例工程中,由于字符串格式不符合,导致编译的WaveDest.ax输出的Wave文件无法播放。用二进制打开,发现文件头错误。

导致文件错误的是函数FCCFCC的输入字符串地址传递给文件头的时候,由于是Unicode,导致需要的单字节文字串变成了双字节。

错误函数如下:

文件:DXSUtil.pas

  function FCC(str: String): Cardinal;

  begin

    Assert(Length(str) >= 4);

    result := PDWORD(str)^;

  end;

 

修正如下即可。

  function FCC(str: AnsiString): Cardinal;

  begin

    Assert(Length(str) >= 4);

    result := PDWORD(str)^;

  end;

作者:danielhuang 录入:danielhuang 来源:原创
共有评论 1相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • 盒子文章(www.2ccc.com) © 2017 版权所有 All Rights Reserved.
  • 沪ICP备05001939号