Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

if Assigned(Self) then Result := FList else Result := EmptyList;   Найти похожие ветки 

 
GuAV ©   (2005-12-31 14:10) [0]

С наступающим, товарищи !

А вопрос такой: если существует много кода использования свойства объекта с предварительной проверкой объекта на неравенство nil, стоит ли вынести эту проверку в метод чтения св-ва ? Св-во возвращает TList, поэтому можно заранее создать пустой список для возвращения в этом случае...


 
Leonid Troyanovsky ©   (2006-01-01 14:46) [1]


> GuAV ©   (31.12.05 14:10)  

> А вопрос такой: если существует много кода использования
> свойства объекта с предварительной проверкой объекта на
> неравенство nil, стоит ли вынести эту проверку в метод чтения
> св-ва ? Св-во возвращает TList, поэтому можно заранее создать
> пустой список для возвращения в этом случае...


Вообще-то, в случае создания списка при создании объекта
проверок можно избежать.
Т.е., оный список будет существовать всегда.

--
Regards, LVT.


 
GuAV ©   (2006-01-01 18:29) [2]


> Вообще-то, в случае создания списка при создании
>объекта
>проверок можно избежать.
> Т.е., оный список будет существовать всегда.

Это и так соблюдается.

Я видимо не ясно выразился.
Покажу на примере:

Имеем:
proceudre MainForm.SomeEvent(Sender: TObject);
begin
 if FObject <> nil then
   with FObject.List do
     ...
end;

где
 property List: TList read FList;

Стоит ли делать так:
proceudre MainForm.SomeEvent(Sender: TObject);
begin
 with FObject.List do
   ...
end;

где
 property List: TList read GetList;

procedure TSomeObject.GetList
begin
 if Assigned(Self) then
   Result := FList
 else
   Result := EmptyList;
end;


?


 
Leonid Troyanovsky ©   (2006-01-03 15:52) [3]


> GuAV ©   (01.01.06 18:29) [2]

> Стоит ли делать так:

> procedure TSomeObject.GetList
> begin
>  if Assigned(Self) then
>    Result := FList
>  else
>    Result := EmptyList;
> end;


Так, IMHO, выглядит пароноидально. Т.е., в любом случае,
пользование свойствами несозданного объекта не должно
быть безнаказанным.

С другой стороны, использование объектных ссылок должно
предусматривать if Assigned(..) в сочетании с к.л. реализацией
механизма Notification.

--
Regards, LVT.


 
GuAV ©   (2006-01-03 19:31) [4]

Ясно. Спасибо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
6-1128951451
pr0t0n
2005-10-10 17:37
2006.01.22
Здраствуйте мастера! Помогите пожалуйсто


3-1132729810
syte_ser78
2005-11-23 10:10
2006.01.22
Помогите с написанием запроса


5-1121781895
Destroyer
2005-07-19 18:04
2006.01.22
Создание кнопки с вертикальным текстом


14-1135922363
КаПиБаРа
2005-12-30 08:59
2006.01.22
C наступающим Новым годом, Друзья!


14-1135968434
Nick12
2005-12-30 21:47
2006.01.22
Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский