Главная страница
    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.04 c
1-1134505284
Styx_
2005-12-13 23:21
2006.01.22
Алгоритм сортировки


14-1135527050
Uncle Archi
2005-12-25 19:10
2006.01.22
Perl - хэш-функция


2-1136483524
DimDim
2006-01-05 20:52
2006.01.22
А чтоб вычисляемые поля в запрос попадали???


2-1136310445
Начинающий в сети
2006-01-03 20:47
2006.01.22
IP


2-1135709166
The Only
2005-12-27 21:46
2006.01.22
CoCreateInstance





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