Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2006-07-08 17:01:07 ЛС | профиль | цитата
В принципе, более правильно, с точки зрения программиста, было бы:

  • полностью закрыть от кодов элементов внутренние поля структуры
  • ввести property типа string, real, bitmap, icon, и т.п.
  • ликвидировать в связи с этим все doData и ToXXX - пользоваться перехватами в property
    Почему.
    Потому-что код
        _prop_Data := _DoData('test');[/code]менее эффективен чем такой (имеется ввиду, что string - это property с функциональностью doData): 
    
        _prop_Data.string := 'test';[/code]
    Компилятор, в первом случае: сформирует вспомогательную переменную типа TData; передаст ее указатель в ф-ю doData (которая и заполнит необходимые поля); после этого скопирует всю переменную в _prop_Data; и наконец освободит память под эту вспомогательную переменную. Не считая того, что все это будет обложено блоком try-finaly (освобождение памяти - в блоке finaly)
    Во втором же случае, поля будут формироваться сразу в _prop_Data
  • карма: 9

    0