Вниз
Скачать: CL | DM;

проверка на nil   Найти похожие ветки 

← →
Scott Storch ©   (2011-11-28 16:10) [0]

почему во втором случае проверка возвращает <> nil. разве Assigned(L) не аналогичен L <> nil.


procedure TForm1.Button1Click(Sender: TObject);
var
 L: TStringList;
begin
 if Assigned(L) then
   ShowMessage("= nil")
 else
   ShowMessage("<> nil");

 if L = nil then
   ShowMessage("= nil")
 else
   ShowMessage("<> nil");
end;


← →
RWolf ©   (2011-11-28 16:12) [1]

локальные переменные не инициализируются компилятором.


← →
RWolf ©   (2011-11-28 16:12) [2]

и да, в первом if ветки перепутаны.


← →
Ega23 ©   (2011-11-28 16:29) [3]


> почему во втором случае проверка возвращает <> nil. разве
> Assigned(L) не аналогичен L <> nil.


Аналогичен. Assigned нужно для процедурных типов, дабы он не "выполнился".
А локальные переменные не инициализируются, да.


← →
Anatoly Podgoretsky ©   (2011-11-28 16:36) [4]

> Scott Storch  (28.11.2011 16:10:00)  [0]

В первом IF очевидная мура написана, абсурд


← →
Медвежонок Пятачок ©   (2011-11-28 17:03) [5]

почему во втором случае проверка возвращает <> nil.

Потому что проверяемое не равно нил.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.004 c
15-1321182125
clickmaker
2011-11-13 15:02
2012.03.04
Баг в DMClient


2-1322482246
Scott Storch
2011-11-28 16:10
2012.03.04
проверка на nil


2-1322346386
я
2011-11-27 02:26
2012.03.04
Описание признаков символа


2-1321907625
Елена
2011-11-22 00:33
2012.03.04
TPaintBox &amp; TImage


3-1271337869
Андрей Пл
2010-04-15 17:24
2012.03.04
компонент ComboBoх с отфильтрованным выпадающим списком




   Наверх