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

В чем разница...   Найти похожие ветки 

 
Дмитрий К.К.   (2002-10-26 14:48) [0]

... между строчкой
with TreeView.Items do

и строчкой
with TreeView, Items do

?


 
AngeL B.   (2002-10-26 17:19) [1]

В первом случае ты оказызываешься внутри объекта TreeView.Items и компилятор неявно пытается подставить этот объект перед всеми идентификаторами внутри блока. То есть код оказывается в пространстве имен одного объекта.

Во втором - ты указываешь что ты одновременно хочешь расширить пространство имен на два объекта (можно больше).
При этом подразумевается существование как переменной TreeView, так и переменной Items, причем на одном уровне видимости. Во втором случае Items не внутри TreeView, а отдельная переменная.

Пример для большей ясности.


type
TA = record
_A, _B: Integer;
end;

TB = record
_C, _D: Integer;
end;

...

with A, B do _A := _D;


 
Набережных С.   (2002-10-26 17:44) [2]

В первом варианте в блоке with можно оперировать членами TreeView.Items, во втором - и TreeView, и TreeView.Items. При этом, если имеется некая внешняя переменная Items, то внутри блока with она будет недоступна.


 
Юрий Зотов ©   (2002-10-26 20:49) [3]

> причем на одном уровне видимости

Нет. Не на одном, а начиная с последнего. Сначала - Items, потом - TreeView. Это значит, что если у них есть одноименное свойство или метод, то будет подразумеваться Items, а не TreeView.


> Во втором случае Items не внутри TreeView, а отдельная переменная.

Нет. Будет подразумеваться именно тот Items, который TreeView.Items. Поскольку перед Items уже было with TreeView.



 
AngeL B.   (2002-10-26 22:59) [4]


> 2 Юрий Зотов


После прочтения Object Pascal Reference вынужден признать вашу правоту. :) Они действительно вкладываются друг в друга.



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

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



Память: 0.46 MB
Время: 0.01 c
3-21417
Crok
2002-10-16 08:58
2002.11.07
Помогите скопировать данные в базу!


3-21400
Призрак
2002-10-17 19:31
2002.11.07
Тормоза при перебросе данных из Access в InterBase.


3-21396
malex_1
2002-10-18 10:32
2002.11.07
Halcyon 6, значения по умолчанию


3-21414
grusty
2002-10-17 15:35
2002.11.07
Как добавить новое поле в уже сужествующую таблицу?


1-21527
Anatolyk
2002-10-29 11:00
2002.11.07
ValueListEditor




   Наверх