Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.06.12;
Скачать: [xml.tar.bz2];

Вниз

вложенные With   Найти похожие ветки 

 
Очень злой   (2011-02-25 13:04) [0]

with a do
 try
    ...
    with b do
       try
          ...
          SomeMethod;
          ...
       finally
         free;
       end;
    ...
 finally
   free;
 end


Метод SomeMethod имеется в обоих объектах (т.е. и в a и b)
Но в данном случае метод SomeMethod будет относиться к объекту a или b?


 
Очень злой   (2011-02-25 13:05) [1]

Извиняюсь, не в ту конференцию запостил. Хотел в "начинающим"... :(


 
KilkennyCat ©   (2011-02-25 13:10) [2]

b


 
clickmaker ©   (2011-02-25 13:10) [3]

> метод SomeMethod будет относиться к объекту a или b?

b
лучше вообще таких конструкций избегать. Если есть неоднозначность


 
KilkennyCat ©   (2011-02-25 13:12) [4]

я бы вынес в отдельную функцию - читать будет легче, без неоднозначности.


 
Anatoly Podgoretsky ©   (2011-02-25 13:38) [5]

> Очень злой  (25.02.2011 13:04:00)  [0]

Гадаешь?
А хочешь не гадать? - Выкини with и будет тебе хорошо.


 
Dennis I. Komarov ©   (2011-02-25 13:42) [6]


> Очень злой   (25.02.11 13:04)  

А так?
with a, b, c do
try
   ...
         SomeMethod;

:)


 
clickmaker ©   (2011-02-25 13:50) [7]

> А так?
> with a, b, c do
> try
>   ...
>         SomeMethod

все три одновременно


 
KilkennyCat ©   (2011-02-25 13:50) [8]


> Dennis I. Komarov ©   (25.02.11 13:42) [6]

c


 
Dennis I. Komarov ©   (2011-02-25 13:55) [9]

Эмм, я как говорится, Вас...?


 
Dennis I. Komarov ©   (2011-02-25 13:56) [10]

И условия что у "с" есть SomeMethod не было...


 
И. Павел ©   (2011-02-25 20:40) [11]

Вот это извращения :) Я таких не видел даже в коде, который мне отдавали на переписывание. Кстати, если в результате доработки программы [0] в "a" появится свойство "b" с методом SomeMetod то будет вызываться именно он, и найти такой конфликт имен будет очень трудно.


 
asail ©   (2011-02-25 21:40) [12]

Вложенные with надо запретить. В УК прировнять к терроризму.


 
KilkennyCat ©   (2011-02-25 21:54) [13]

я бы ваще программистов на учет ставил.


 
Яблокитай   (2011-02-25 22:44) [14]

Опять про Goto забыли ...


 
Плохиш ©   (2011-02-26 02:02) [15]


> Но в данном случае метод SomeMethod будет относиться к объекту
> a или b?

А что, в справке это уже не пишут?


 
KilkennyCat ©   (2011-02-26 02:03) [16]

а что, справку уже читают? :)


 
_Юрий   (2011-02-26 11:27) [17]

Особенно With доставляет тем, что в нем напрочь не работает инспектирование при дебаге.
А польза сомнительна - экономия нескольких секунд при наборе кода разве что, зато потом можно потерять больше времени.  
Целесообразно разве что в самых простых случаях, когда отладка не потребуется, например присвоение полей из одной структуры в другую. А за два и больше - расстреливать на месте


 
RWolf ©   (2011-02-26 11:39) [18]


> _Юрий   (26.02.11 11:27) [17]

удобно же:

with TSomething.Create(…) do
 try
   …
 finally
   Free
 end;


 
asail ©   (2011-02-26 13:37) [19]


> RWolf ©   (26.02.11 11:39) [18]

Дык и так удобно:
var
 so: TSomething;
begin
 ...
 so := TSomething.Create(...);
 try
   ...
 finally
   so.Free
 end;


Один в один, только еще одну переменную ввести... Но, руки, надеюсь, от этого не отвалятся? :)
Зато, никакой неопределенности.


 
clickmaker ©   (2011-02-26 13:59) [20]

> удобно же:
>
> with TSomething.Create(…) do
> try

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

class function TSomeDialog.Execute: boolean;
begin
 with TSomeDialog.Create(Application) do begin
   try
     ...
     Result := (ShowModal = mrOk);
     ...
   finally
     Free;
   end;
 end;
end;


удобно тем, что диалог вызывается одной строчкой из любого места



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

Форум: "Прочее";
Текущий архив: 2011.06.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.003 c
2-1299150042
fantoma
2011-03-03 14:00
2011.06.12
Печать в fastreport


3-1260193959
Бульбаш
2009-12-07 16:52
2011.06.12
Как правильно получить имя поля по дабл-клику на ячейке


1-1256622814
Wadimka
2009-10-27 08:53
2011.06.12
Помогите реализовать алгоритм по поиску возможных значений


1-1256627612
Lionel
2009-10-27 10:13
2011.06.12
Вывод числа прописью в компонент Memo в FastReport


2-1299227899
Leon-Z
2011-03-04 11:38
2011.06.12
Многозадачность. TThread.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский