Мельница данных   (23.09.2017)
Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
          if LObject = nil then
             .....
          
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;