我有一个TCustomClientDataSet(在内存中),用于在Delphi程序中进行一些过滤. 我的过滤代码如下: CDSFilteredGroup.Filter := 'ACP_type = 1 AND ACP_by_default False'; CDSFilteredGroup.Filtered := True; 当我编译并运行
我的过滤代码如下:
CDSFilteredGroup.Filter := 'ACP_type = 1 AND ACP_by_default <> False'; CDSFilteredGroup.Filtered := True;
当我编译并运行它时,我只在我的计算机上安装了Delphi(XE4)时出现以下错误:
CDSFilteredGroup: Champ 'False' non trouvé.
翻译:未找到Field’False’.相同的代码在我的同事计算机上编译和运行完全正常,但不是我的.我想念的某个地方必须有一个选项吗?
请记住,代码还可以正常工作……
用于处理过滤器字符串的TExprParser实例依赖于作为STextTrue和STextFalse给出的资源字符串.您可能有另一种语言,而不是为IDE库配置的英语.尝试切换到英语并查看错误是否消失.要解决该问题,通常将文本“False”替换为resourcestring STextFalse的内容.
顺便说一下,这在后来的Delphi版本中得到了纠正,即使在非英语环境中也接受字面上的“假”.