Главная страница
    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.043 c
4-1130978882
kisik
2005-11-03 03:48
2006.01.22
Отправка файла на "соседний компьютер" через IrDa


2-1136105211
JemCarry
2006-01-01 11:46
2006.01.22
Проблемка с циклом


3-1132823454
thvfrjd
2005-11-24 12:10
2006.01.22
Подключение к БД


14-1134829873
Piter
2005-12-17 17:31
2006.01.22
Чистосердечное признание


2-1136034543
PaNDa000
2005-12-31 16:09
2006.01.22
Сети





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский