| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Аномалия в Delphi |
| Автор: Akella 4.7.2005, 12:05 |
| Вот, вычитал http://www.rsdn.ru/article/delphi/delphianomaly.xml |
| Автор: December 4.7.2005, 14:19 |
| Как-то смутно видится применение этой фишки на практике... А тот факт, что AV появляется внутри метода ИМХО не так уж и важен - какие шансы у Delphi противостоять кривым рукам девелупера? Скорее всего, Борланд даже не пытался что-нибудь сделать в этом направлении. |
| Автор: Петрович 7.7.2005, 19:30 | ||
А тут ничего и не сделаешь. По крайней мере если хоца чтобы программа сохраняла приемлемую эффективность. |
| Автор: p0s0l 8.7.2005, 00:11 | ||||||||||
Небольшие коментарии по статье:
Ну а вообщем-то, самое интересное, я совсем не понял, про какие аномалии говорится в статье ? Первая аномалия четко озвучена - это "аномалия защиты доступа к приватным данным". Аномалией назвать можно, но сегодня это уже не аномалия, а фича, которой все пользуются. Кому надо защиту, те разделяют классы по разным модулям. Возможно, Borland изначально это так и задумывала, как незамысловатый способ создания дружественных классов. Другие же аномалии уже не озвучены, приходится догадываться, какие аномалии имелись в виду. 1. Если имеется в виду возможность изменения Self - то в принципе это ерунда, какой дурак будет её менять ? Это может пригодиться только в редких случаях. Да и в любом случае, Self - лишь локальный параметр, защищать его особого смысла нет. Т.к. Self - лишь просто параметр (хоть и неявный), то в принципе, в приведенном примере я мог бы сделать так:
2. Если под аномалией понимается факт того, что AV возникает не до вызова метода, а в самом методе - то тут уж ничего не поделаешь. Это не аномалия Delphi, это так оно и есть. Не производить же проверку валидности ссылки перед каждым вызовом метода ? Такой же ярлык аномалии можно повесить на многие другие языки программирования, например, VC. Больше ничего, что можно было бы отнести к аномалиям, я не нашёл... Поэтому, имхо, статья в итоге поставленной темы не раскрывает (хотя новичкам будет интересна). PS: всё это скромное имхо |