Показать сообщение отдельно
  #8  
Старый 05.03.2015, 06:41
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Alex55V
А я ведь Вам не поверил.... Попробовал изменить тип функции с boolean на integer и вообще отказаться от указания типа функции... Процедура - работает. Функция - ни в каком виде. Вывод: ошибка ни в типе данных, а в кривом использовании property. Правильно понял?

А зря. Собственно, можно было бы и так догадаться.
Сеттер просто устанавливает значение аттрибуту (не путать со свойством) объекта. Там фунция просто не нужна, т.к. ей нечего возвращать. Если происходит ошибка, то надо просто выбрасывать исключение.
А сообщение об ошибке в типе данных связвно с тем, как данный механизм реализован внутри языка. Фактически там объявлены процедурные типы для геттера и сеттера и если реальная процедура/фунция по сигнатуре (не кидаться помидорами, знаю. что там не сигнатура, но так понятнее для начинающего) не совпадает с указанным типом, то выдается сообщение о несоответствии типов.
Ответить с цитированием