tag:blogger.com,1999:blog-1688132520265708820.post1916850274550408372..comments2023-04-02T16:52:35.787+03:00Comments on Блог GunSmoker-а (переводы): Виртуальные методы и inheritedGunSmokerhttp://www.blogger.com/profile/15611696588191431330noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-1688132520265708820.post-77286599541808348912013-02-01T19:57:05.031+04:002013-02-01T19:57:05.031+04:00Один подводный камень с синтаксисом inherited; - о...<i>Один подводный камень с синтаксисом inherited; - он не поддерживается для функций.</i><br />В Delphi XE именно так. Приходится писать влоб:<br /> Result := inherited;<br />Иначе значение из базового класса не передается.Denis Grinyukhttps://www.blogger.com/profile/10827924636569374667noreply@blogger.comtag:blogger.com,1999:blog-1688132520265708820.post-54425577631568191912011-07-15T08:53:43.088+04:002011-07-15T08:53:43.088+04:00Насколько я понимаю, это копия старой статьи из Th...Насколько я понимаю, это копия старой статьи из The Delphi Magazine (могу ошибаться, конечно). Но, в любом случае, оригинал был написан, видимо, довольно давно. Если не путаю, то это поведение было до Delphi 4 включительно, а в Delphi 5 его убрали. <br /><br />Текст решил оставить для ознакомления с проблемой абстрактного метода-функции. Хотя теперь понимаю, что надо было добавить примечание.GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1688132520265708820.post-27135402386492872562011-07-14T15:12:16.107+04:002011-07-14T15:12:16.107+04:00Один подводный камень с синтаксисом inherited; - о...<i>Один подводный камень с синтаксисом inherited; - он не поддерживается для функций. Для функций вам нужно использовать явный синтаксис с указанием имени метода и его аргументов</i><br />Честно - впервые об этом слышу. Пользовался таким синтаксисом и в Д7, и сейчас в ХЕ - никаких ограничений. И даже ваш пример отлично компилируется и работает как ожидается~AQUARIUS~https://www.blogger.com/profile/16491299278831858039noreply@blogger.comtag:blogger.com,1999:blog-1688132520265708820.post-29949020373667175292011-07-13T17:54:11.077+04:002011-07-13T17:54:11.077+04:00Вообще не знал, как использовать директиву virtual...Вообще не знал, как использовать директиву virtual *oops* <br /><br />Спасибо за понятную статью! :)Anonymoushttps://www.blogger.com/profile/11763852299911469042noreply@blogger.com