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

Вниз

Проверка на существование   Найти похожие ветки 

 
NewOne   (2013-08-04 20:02) [0]

В чем отличие проверки "a <> nil" и "Assigned(a)" ?


 
Anatoly Podgoretsky ©   (2013-08-04 20:11) [1]

Не то ни другое не проверяет существование.
Код Assigned легко посмотреть по исходникам.


 
DVM ©   (2013-08-04 20:22) [2]


> NewOne   (04.08.13 20:02) 
> В чем отличие проверки "a <> nil" и "Assigned(a)" ?

http://docwiki.embarcadero.com/Libraries/XE2/en/System.Assigned


 
NewOne   (2013-08-04 20:30) [3]


> DVM ©   (04.08.13 20:22) [2]

Значит разницы получается никакой нет?

> Anatoly Podgoretsky ©   (04.08.13 20:11) [1]

Кажется понял, это будет просто проверкой присвоен ли переменной "a" какой-то объект?

То есть в этом коде сам объект просто "потеряется" и к нему больше нельзя будет получить доступ?

var
 a: TNewObject;
begin
 a := TNewObject.Create;
 a := nil;
end;


 
Jeer ©   (2013-08-04 23:41) [4]

Да.


 
brother ©   (2013-08-05 06:15) [5]

а утечка? объект то не уничтожили...


 
icWasya ©   (2013-08-05 09:46) [6]

Есть небольшая разница в таком случае

type TTestFunc = Function : Pointer;
var
a: TTestFunc;
begin
a := Func1;
if a <> nil then; // здесь будет вызов функции и проверка результата на nil
if Assigned(a) then;// а здесь проверка переменной a на nil
end;


 
Inovet ©   (2013-08-05 11:01) [7]

> [6] icWasya ©   (05.08.13 09:46)

Желательно создавать там же, где и удалять. Ещё брать работу с зозданным в блок try, удалять в finally.



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

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

Наверх





Память: 0.46 MB
Время: 0.002 c
2-1375335686
Den
2013-08-01 09:41
2014.05.25
enumchildwindows вопрос по последнему параметру


15-1384939416
Nil
2013-11-20 13:23
2014.05.25
Работа с SQLite


15-1384765946
KeyMouse
2013-11-18 13:12
2014.05.25
KVM бывают разные?


2-1375798951
mfender
2013-08-06 18:22
2014.05.25
Появляются лишние символы при отправке TIdMultiPartFormDataStream


15-1385095642
atruhin
2013-11-22 08:47
2014.05.25
Алгоритмы. Обход списка с удалением произвольных элементов





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