在PB中调用Win32 API函数的经验

Author: 陈跃氢 Date: 2001年 44期

?牐燩owerBuilder系统自身虽然提供了大量的函数,但对于一些诸如获得系统参数、控制线程等系统底层功能,就无能为力了。这是因为PowerBuilder语言主要是针对数据库应用的开发工具,并不像Visual C++或其它语言主要针对Windows开发,在调用Windows的功能方面较强。为了弥补PowerBuilder这方面的劣势,可调用Win32 API函数来完成某些特殊的功能。
  ?牐犛捎赑owerBuilder不会通知用户在Win32 API的DLL/EXE文件不存在所调用的函数,或者在语句的编译期间调用不正确,相反,用户只会得到在运行时出现的含糊的错误提示,初学者往往无所适从。因此,在调试时必须注意如下两点基本事项:
  ?牐犑紫龋⒁馍魍獠亢焙频淖帜复笮⌒础S捎赑owerBuilder系统与绝大多数程序设计语言一样,对于语句和函数并不在乎字母的大小写,所以,在编程时,往往也忽略了在声明外部函数时函数名称的字母大小写形式。如Win32 API中的拷贝函数CopyFileA,若在声明外部函数时写成Copyfilea,则在运行时提示调用错误。但在程序语句中不论自身的函数还是外部函数,函数名称均与字母大小写形式无关。这是很多初学者不易察觉的错误。
  ?牐犉浯危筆owerBuilder应用在Windows环境下正常运行,DLL应放在下列目录之中:
  ?牐?1.当前目录;
  ?牐?2.Windows目录;
  ?牐?3.Windows System目录;
  ?牐?4.在DOS的路径中包括的目录。
  ?牐犜诔绦蛏杓剖保惺卑凑詹慰甲柿显谏魍獠亢痹颈镜厍萌耄谠诵惺比蕴崾镜饔么砦螅谂懦渌赡芎笥Ω没骋缮魍獠亢淖帜复笮⌒词欠翊嬖谟∷⒋砦蟆T谡饫锝樯芤桓黾虻サ难橹し椒?:用Word2000打开相应的DLL/EXE文件,然后搜索此函数的名称,若存在则可看到此函数的正确名称的字母大小写方式。