我打算为TCheckBox编写一个Live Binding源表达式:SourceExpression = '(Checked = False) and (Enabled = True)'执行代码时,出现异常提示:Expected EOF - trailing text in expressionDelphi XE2 Live Binding是否支持布尔运算符? 最佳答案 不可以,不直接支持布尔运算符。从docu: 您可以在表达式中使用以下数学符号: 常量:nil True False Pi 算术运算符:+-* / 逻辑运算符:= > = 括号()用于更改运算符的优先级。 但是您可以使用the builtin functions IfAll(), IfAny() and IfThen()代替and,or和not:SourceExpression := 'IfAll(IfThen(Checked, False, True), Enabled)'或者您register your own functions。我测试了这4个XE4,但它应该适用于XE2 2。A or B:IfAny(A, B)A and B:IfAll(A, B)not A:IfThen(A, False, True)A xor B:IfAll(IfAny(A, B), IfThen(IfAll(A,B), False, True))关于delphi - 我们可以在Delphi XE2 LiveBinding表达式中使用 bool 运算符吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11792623/