![]() |
|
|
|
|
#1
|
|||
|
|||
|
Суть в том, что многое завист от логики компилятора.
Если компилятор "будет удовлетворен" результатом проверки : Assigned(aNode) для aNode=nil, то "все в порядке" А если "пойдет дальше" и проверит вторую часть условия : Assigned(aNode.Parent) при aNode=nil, то может быть RunTime-ошибка. Честно сказать, я не знаю логику "нынешних" компиляторов Delphi. Но в старых версиях такой конфуз случался. Поэтому стараюсь (на всякий случай) исключать такие потенциально опасные места на уровне исходников. |