请教pb不同版本之间,申明win32 api函数的区别

jykj_007 2010-05-06 12:12:33
请教pb不同版本之间,申明win32 api函数的区别
举例:
在PB6.5中 遍历文件夹的函数申明方式为:
FUNCTION ulong FindFirstFile(string lpFileName,ref str_WIN32_FIND_DATA lpFindFileData) LIBRARY "kernel32.dll" ALIAS FOR "FindFirstFileA"
FUNCTION ulong FindNextFile(ulong hFindFile,ref str_WIN32_FIND_DATA lpFindFileData) LIBRARY "kernel32.dll"ALIAS FOR "FindNextFileA" //

即 FOR "*****A"

而在pb10以后 则需要这样申明:
FUNCTION ulong FindFirstFile(string lpFileName,ref str_WIN32_FIND_DATA lpFindFileData) LIBRARY "kernel32.dll" ALIAS FOR "FindFirstFileW" //
FUNCTION ulong FindNextFile(ulong hFindFile,ref str_WIN32_FIND_DATA lpFindFileData) LIBRARY "kernel32.dll" ALIAS FOR "FindNextFileW" //
//播放wav文件
FUNCTION ulong waveOutGetNumDevs() LIBRARY "Winmm.dll"
FUNCTION ulong sndPlaySound(ref string lpszSoundName,ulong uFlags) LIBRARY "Winmm.dll" ALIAS FOR "sndPlaySoundA;Ansi"

即 FOR "****W" 或 FOR "*****A;Ansi"
而有的函数声明则完全不需要 ALIAS FOR "*******"


  我想请教pb不同版本的win32 api申明方式有什么主要区别和规则, 在什么情况也用FOR "****W",什么情况下用FOR "*****A"、FOR "*****A;Ansi",什么情况下不用 ALIAS FOR "*******" 
...全文
116 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenvenlee 2010-05-20
  • 打赏
  • 举报
回复
学习了!!!
zhgl2000 2010-05-19
  • 打赏
  • 举报
回复
学习了!!
ahder 2010-05-15
  • 打赏
  • 举报
回复
d.........
mousemad 2010-05-14
  • 打赏
  • 举报
回复
学习了,顶!
new4everlau 2010-05-13
  • 打赏
  • 举报
回复
顶!!!!
zlf19810306 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lzwjb 的回复:]
PB10以后都用UNICODE宽字符,而以前的版本都是ANSI,所以在字符操作时,就会有问题
[/Quote]

楼上正解
lzwjb 2010-05-12
  • 打赏
  • 举报
回复
PB10以后都用UNICODE宽字符,而以前的版本都是ANSI,所以在字符操作时,就会有问题
wag_enu 2010-05-06
  • 打赏
  • 举报
回复
mark ,
我也要学习...

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧