В коде предпринята попытка преобразования между двумя объектами, несовместимыми по классу. Класс объекта, преобразование которого осуществляется к другому классу, не является его наследником.
Необходимо проверить классы преобразуемых объектов. Возможно некорректно указано наследование классов.
Class A: Object
End Class A;
Class B: Object
End Class B;
Sub UserProc;
Var
Obj1: A;
Obj2: B;
Begin
Obj1 := Obj2 As A;
End Sub UserProc;
При компиляции указанного кода на строке «Obj1 := Obj2 As A;» будет сгенерирована ошибка «Объект класса B не может быть приведен к классу A». Ошибка возникает из-за того, что класс B не является наследником класса A и между ними невозможно явное преобразование.
См. также: