"Обрезка" (ограничение) компилируемого кода.
 Добавлено: 30.07.2021 21:47:00
Добавлено: 30.07.2021 21:47:00Есть ли возможность ограничить (запретить) компиляцию (допустим: выдать ошибку)? Когда какие-то переданные данные функции выходят за пределы и мы точно знаем, что этот код не должен компилироваться (точнее по коду, он просто пройдёт исключения и вернёт False).
допустим:
и как раз хочу избавиться от данного If, так как по коду понятно, что больше трёх кнопок не должно просто обрабатываться, и не должно компилироваться ни как. пользователя просто предупреждаем об ошибке, что вышли за рамки значений.
предоставляет ли FPC подобную возможность?
			допустим:
- Код: Выделить всё
- function(Button: byte): Boolean;
 begin
 if Button > 3 then
 begin
 Result := false;
 Exit;
 end;
 // рабочий код
 end;
и как раз хочу избавиться от данного If, так как по коду понятно, что больше трёх кнопок не должно просто обрабатываться, и не должно компилироваться ни как. пользователя просто предупреждаем об ошибке, что вышли за рамки значений.
предоставляет ли FPC подобную возможность?
 Так что пиши проверки на все случаи жизни и не мучайся, особенно все деления на предмет деления на ноль.
 Так что пиши проверки на все случаи жизни и не мучайся, особенно все деления на предмет деления на ноль. но думаю просто без проверки обойдусь, кину в код предупреждение к функции, вылетит у пользователя ошибка, будет более-менее понятно, куда рыть. Там всё равно статические данные будет использоваться, в данном случае статический массив, что приведёт к выходу за пределы в любом случае.
 но думаю просто без проверки обойдусь, кину в код предупреждение к функции, вылетит у пользователя ошибка, будет более-менее понятно, куда рыть. Там всё равно статические данные будет использоваться, в данном случае статический массив, что приведёт к выходу за пределы в любом случае. почему всё из воздуха не происходит?
  почему всё из воздуха не происходит?