张
张鸿林
Unregistered / Unconfirmed
GUEST, unregistred user!
[]
在nt4.0,win98环境下,delphi5:
1.TClientDataSet.Locate在TWideString类型的字段下查找永远返回 false
2.在TWideStringField的长度很短(如2)时,字段值的修改无法被TClientDataSet.Delta
侦测到
可是编译后的执行代码放到win2000下可以正常运行
本人做过以下试验:
两个同样内容的表格,一个字段类型为TWideStringield,另一个表子段为TStringFiled
执行Locate跟踪到
dsintf.TDSCursor.LocateWithFilter(ExprParser.FilterData, ExprParser.DataSize);
TStringFiled类型上述函数返回0(成功)
但TWideStringFiled类型上述函数返回非0
检查所带入ExprParser.FilterData, ExprParser.DataSize没有区别
奇怪?
TDSCursor为接口类型,我不知道LocateWithFilter方法在哪里实现,所以无法进一步跟踪
怀疑delphi关于Unicode编译程序可能有问题,但同一个编译后的执行文件可以在win2000下正常运行
Unicode怎么啦?win2000对它的定义改变了吗?Borland早就知道它会改变?
在nt4.0,win98环境下,delphi5:
1.TClientDataSet.Locate在TWideString类型的字段下查找永远返回 false
2.在TWideStringField的长度很短(如2)时,字段值的修改无法被TClientDataSet.Delta
侦测到
可是编译后的执行代码放到win2000下可以正常运行
本人做过以下试验:
两个同样内容的表格,一个字段类型为TWideStringield,另一个表子段为TStringFiled
执行Locate跟踪到
dsintf.TDSCursor.LocateWithFilter(ExprParser.FilterData, ExprParser.DataSize);
TStringFiled类型上述函数返回0(成功)
但TWideStringFiled类型上述函数返回非0
检查所带入ExprParser.FilterData, ExprParser.DataSize没有区别
奇怪?
TDSCursor为接口类型,我不知道LocateWithFilter方法在哪里实现,所以无法进一步跟踪
怀疑delphi关于Unicode编译程序可能有问题,但同一个编译后的执行文件可以在win2000下正常运行
Unicode怎么啦?win2000对它的定义改变了吗?Borland早就知道它会改变?