- Код: Выделить всё
BufDown := not((Style = tbsCheck) and MouseEntered and Down_p and Down); // результат логических операций - true
и
FDown // установлено в true
при этом byte(BufDown) = 255, а byte(FDown) = 1
и что самое неожиданное BufDown = FDown получатся false (255 <> 1), хотя я ожидал результат true
Вопросы:
1. как такое может быть, что true представлено разными значениями (1 и 255)?
2. как сравнивать ByteBool в таком случае
И еще: такая ситуация получается при компиляции в Lazarus. В Delphi все работает четко.