pb9以下版本的程序升级到pb10以上版本说明

     PB9以下版本的程序,字符串使用的ANSI编码,pb10或以上版本,使用的是Unicode编码,所以在API函数定义上,会有些出入.大部分在参数或返回值中使用了字符串的Windows API函数,都提供了两个版本的API,一个是支持ANSI的,一般在函数后面加个A作为标记,一个是支持Unicode的,一般在函数后面加W(WideChar)作为标记.如GetWindowTextA和GetWindowTextW,所以在pb9时,定义API函数一般使用的是ANSI版本(因为PB9使用的是ANSI编码),如果是升级到PB10或以后版本,则可以把API函数定义为使用Unicode版本即可,而不是使用PB程序直接升级的那样,继续采用Ansi版本.
      此外,PB在定义Windows Api时,大小写是敏感的,这个跟PBScript不同,也是需要注意的地方.
      PB9新增加了两个函数 TOAnsi 和ToUnicode,分别可以把字符串转换为Uncicode编码的Blob类型的数据,或把Uncicode编码类型的Blob数量,转换为使用Ansi的字符串.而pb11.5,这两个函数在使用的时,提示该函数在以后的版本可能不支持,所以不直接使用.PB 11.5使用String和Blob函数进行字符串编码数据类型的转换,并且可以指定字符编码的类型.
    通过以上分析可以发现,如果在pb11.5中,把API函数定义为使用Ansi版本的话,操作是比较麻烦的,可能会涉及到字符串数据类型的转换,而如果定义为直接使用Unicode版本,则方便很多. 

Function boolean GetTextExtentPoint32A(ulong hdcr, string lpString, long nCount, ref os_size size) Library "GDI32.DLL"

FUNCTION ulong GetLocaleInfo(ulong Locale,ulong LCType,ref string lpLCData,ulong cchData) LIBRARY "kernel32.dll" ALIAS FOR "GetLocaleInfoA" 

      更改后:
      Function boolean GetTextExtentPoint32W(ulong hdcr, string lpString, long nCount, ref os_size size) Library "GDI32.DLL" 
      FUNCTION ulong GetLocaleInfo(ulong Locale,ulong LCType,ref string lpLCData,ulong cchData) LIBRARY "kernel32.dll" ALIAS FOR "GetLocaleInfoW" 
      其中:GetTextExtentPoint32W的名称与原来的定义不同,所以同时修改了代码中使用到该Api的地方.如果不想修改代码,可以直接把API改为:
       Function boolean GetTextExtentPoint32A(ulong hdcr, string lpString, long nCount, ref os_size size) Library "GDI32.DLL" Alias For "GetTextExtentPoint32W"
      但这样以维护代码时,可能会容易理解错误,所以不建议.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当进行PB(PowerBuilder)程序的数据库升级时,需要考虑以下几个方面: 1. 数据库备份:在进行数据库升级之前,务必要对当前的数据库进行备份,以防在升级过程中出现意外情况导致数据丢失或损坏。备份操作应该在升级之前进行,确保数据的安全性。 2. 升级计划:在进行PB程序的数据库升级之前,应该制定一个详细的升级计划。这个计划应包括升级所需的步骤、时间安排、资源分配等内容,以确保升级过程的顺利进行。同时,还需要确定升级后的数据库版本以及与PB程序的兼容性。 3. 数据库脚本的更新:升级数据库可能涉及到表结构、视图、存储过程等的更改。在进行升级之前,需要先编写好对应的数据库脚本,并确保这些脚本能够顺利地执行。这些脚本应该包括对数据库结构的修改、数据迁移等操作。 4. PB程序的修改:根据数据库升级后的变化,可能需要对PB程序进行相应的修改。例如,对于表结构的更改,可能需要更新相关的数据窗口、数据访问逻辑等。在对PB程序进行修改时,需要确保修改的正确性,并进行严格的测试,以保证升级后的程序能够正常运行。 5. 测试和验证:在进行PB程序的数据库升级之后,需要对升级后的数据库和程序进行全面的测试和验证。测试应该涵盖各个方面,包括数据的完整性、查询功能、报表生成等。只有通过了相关的测试,才能确认升级过程的成功,并将新版本PB程序投入使用。 综上所述,进行PB程序的数据库升级需要进行备份、制定升级计划、更新数据库脚本、修改PB程序,并进行完整的测试和验证。这样才能确保升级过程的顺利进行,并能够保证升级后的数据库和程序的稳定性和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值