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