Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

with


Страницы:   1 2

paveltersh ©   (2007-09-11 16:44:00) 

Когда и зачем with используют так:

with Button1, Edit1, Edit2 do
begin
...


Это для примера, мой код. Но зачем with предполагает наличия нескольких переменных? И как это можно использовать?

Приведите пожалуйста пару примеров.


Сергей М.   (2007-09-11 16:53:00) [21]


> какова причина их появления?


Причина проста - компилятор не може понять, что конкретно от него требуют в WITH-блоке (неоднозначность трактовки обращений к одноименным св-вам/методам разных объектов), и трактует эти обращения "по-своему"


{RASkov}   (2007-09-11 16:53:00) [22]

> [3] paveltersh   (11.09.07 16:49)
> Вот как раз глюки и интересуют, какова причина их появления?
> И где не стоит это использовать а где стоит?

Глюков там нет, глюки у автора при написании и не понимании сего механизма :)
Так же там учитывается порядокрасположения идентификаторов.... примерно как в uses...


{RASkov}   (2007-09-11 16:51:00) [23]

Примерно так:
with Canvas, Canvas.Font do begin
Color:=clRed; //Цвет фонта
Pen.Color:=clBlue;  //цвет карандаша
Rectangle();        // Канвас.Ректангл
TextOut();          // Канвас.ТекстОут
end;

А вообще это путаница если ты не понимаешь сути with.... и по первой использовать такие конструкции опасно...


Ega23   (2007-09-11 16:49:00) [24]

Я, честно говоря, всего пару раз таким пользовался.
With dmMain, adsSomething do
begin

end;
где dmMain : TDataModule; adsSomething : TADODataSet.


paveltersh   (2007-09-11 16:49:00) [25]

Вот как раз глюки и интересуют, какова причина их появления? И где не стоит это использовать а где стоит?


DVM   (2007-09-11 16:47:00) [26]

Но с этим надо быть аккуратным - чревато глюками при неверном применении.


DVM   (2007-09-11 16:46:00) [27]


with Button1, Edit1 do
begin
 Text := Caption;
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо