двойной with

ашаноптимизатор
Дата: 01.06.2011 16:38:05
вот если написать допустим:

with edit1,edit2 do
  enabled:=false;

То что будет:

edit1.enabled := false;
edit2.enabled := false;

Или что-то другое? Или в таком случае with сработает только на первую часть?
ашаноптимизатор
Дата: 01.06.2011 16:51:13
ээ, ну карочи я выяснил что в данном случает edit2 полностью застолбит edit'а1.

короче код

with edit1,edit2 do
  enabled:=false;

эквивалентен

edit2.enabled := false;

вот такой вот идиотизЪм
Кроик Семён
Дата: 01.06.2011 16:53:35
Не люблю я этот with-оператор.
Это вначале только кажется, что он польза программисту.
Гаджимурадов Рустам
Дата: 01.06.2011 16:54:09
Это не идиотизм (разве что автора кода), это правильно.
ашаноптимизатор
Дата: 01.06.2011 16:55:46
Гаджимурадов Рустам
Это не идиотизм (разве что автора кода), это правильно.


да нет, это самый натуральный идиотизм борланда

(а свои наезды прошу оставить при себе, гуро тут нашОлсё)
Гаджимурадов Рустам
Дата: 01.06.2011 17:01:42
ашаноптимизатор
да нет, это самый натуральный идиотизм борланда
Вместо того, чтобы голословно утверждать идиотизм производителя, лучше
приведи хоть какое-то обоснование его неправоты и своей правоты.

А личные наезды - ничего личного. Что посеял - то и получил.
ашаноптимизатор
Дата: 01.06.2011 17:04:55
Гаджимурадов Рустам
ашаноптимизатор
да нет, это самый натуральный идиотизм борланда

Вместо того, чтобы голословно утверждать идиотизм производителя, лучше приведи хоть какое-то обоснование.

А личные наезды - ничего личного. Что посеял - то и получил.


я хочу взять и перечислением присвоить свойствам всех объектов списка, а не последнего, при пересечении.
я на самом деле тебя Рустам очень уважаю. но спустись на землю. почему мои пожелания идиотизм?
намекнул бы хоть.
а то извини, куда мне убогому до вас гуру-звузд форума.
мне своим умишком не понять.
тем более что по этой теме в поиске ничего нет. и на гугле тоже.
Гаджимурадов Рустам
Дата: 01.06.2011 17:09:33
ашаноптимизатор
я хочу взять и перечислением присвоить свойствам всех объектов списка, а не последнего, при пересечении.
Это невозможно ни в одном существующем компиляторе. Более того, сама идея мне кажется нелогичной.

ашаноптимизатор
но спустись на землю. почему мои пожелания идиотизм? намекнул бы хоть.
Есть простое правило: одна строка - одно действие. В тех случаях,
когда нужно одним действием выполнить несколько операций - пишут
процедуры/функции. Ты же ждешь чего-то иного.
Кроик Семён
Дата: 01.06.2011 17:10:15
вообще, корректнее бы было, если бы компилятор в данном случае
with edit1,edit2 do
  enabled:=false;

выдавал бы что-нибудь аналогичное ORACLE'вскому:
ORA-00918: column ambiguously defined
--A column name used in a join exists in more than one table and is thus referenced ambiguously
Гаджимурадов Рустам
Дата: 01.06.2011 17:12:28
Кроик Семён
вообще, корректнее бы было, если бы компилятор в данном случае
with edit1,edit2 do
  enabled:=false;

выдавал бы что-нибудь
Не факт. IIRC, порядок разрешения конфликтов имен четко
описан в документации. Warning - согласен, стоит выводить.