我已将Powerbuilder 9应用程序迁移到PowerBuilder 12.5。迁移后,某些功能无法正常工作。
以下代码来自具有blob参数blobi的函数。
long ll_position, ll_start, ll_end
ll_position=Pos(String(blobi),'~f@1~r~n',1) //does not work.
以上行不适用于新版本。我试图检查我从ll_position获得的价值:
messagebox("ll_position: ", ll_position)
In PB 9, it returns 1
In PB 12.5 it returns 0
下一步:
ll_start=ll_position+5
ll_end=Pos(String(blobi),Char(126),ll_start) //does not work.
我得到以下返回值:
messagebox("ll_end: ", ll_end)
In PB 9, it returns 10
In PB 12.5 it returns 0
下一步:
dw_test.Object.numb[1]=Long(Mid(String(blobi),ll_start,ll_end -ll_start)) //does not work.
我得到以下返回值:
long abc
abc = dw_test.Object.numb[1]
messagebox("dw value is: ", abc)
in PB 9 it returns an integer like 1234
in PB 12.5 it returns 0
请帮助我解决上述功能的问题,以及如何更改它们以使用PowerBuilder 12.5。感谢。
答案 0 :(得分:4)
PowerBuilder 12.5默认使用Unicode字符串,因此String()函数需要两个字节来创建一个字符。要维护现有功能,请使用
String (blobi, EncodingANSI!)
祝你好运,
特里