I am planning to write a Live Binding source expression for TCheckBox:
SourceExpression = '(Checked = False) and (Enabled = True)'
When execute the code, an exception prompted:
Expected EOF - trailing text in expression
Is Delphi XE2 Live Binding support boolean operator?
No, boolean operators are not supported directly.
From the docu:
But you can use the builtin functions
IfAll()
,IfAny()
andIfThen()
instead ofand
,or
andnot
:Or you register your own functions.
I tested this 4 XE4, but it should work for 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))