trurl писал(а):
Вообще-то это называется не преобразованием и не приведением, а проверкой или охраной типа.
Сама конструкция так действительно называется, вот из документации кусочек.
Цитата:
Охрана типа [type guard] v(T) удостоверяет, что динамический тип переменной v есть T (или потомок типа T), т.е. выполнение программы аварийно прекращается, если динамический тип переменной v не T (и не потомок T). Тогда внутри составного имени переменная v считается имеющей статический тип T. Охрана применима, если
1. v является IN или VAR параметром записевого типа или v является указателем на запись, и если
2. T является потомком статического типа переменной v
Но вот этот процесс "переменная v считается имеющей статический тип T" я называю "приведением типа", так как тип переменной перед скобкой приводится к тому, который указан в скобках.
Явное приведение типа выполняется с помощью конструкции охраны типа, а неявное с помощью оператора WITH.