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

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

Что значит подобная конструкция [D5]


Eugene1501 ©   (2011-03-29 16:42:00) 

Подскажите пожалуйста, как работает следующая конструкция.

with TOracleDataSet(DataSet), frStatementAccount_Fr(ActiveView.Filter) do

 begin
   SetVariable('iAccNum', FAccnum);
   SetVariable('iCurrcode', FCurrcode);
   SetVariable('iDate1', FBeginDate);
   SetVariable('iDate2', FEndDate);
   SetVariable('p_Filial_No', FFilialNo);
end;

до сих пор использовал такую конструкцию:
with  (имя класса).Create(Self) do
begin
 ...
 Free;
end;

А что означает приведенная выше запись не пойму. Очень нужно разобраться в чужом проекте. Заранее спасибо.


Dennis I. Komarov   (2011-03-30 12:19:00) [1]


> Anatoly Podgoretsky ©   (30.03.11 12:07) [14]

Я ругался? Не, я сразу приговорил, ибо если есть Create/Free - будь добр try/finally


Anatoly Podgoretsky   (2011-03-30 12:08:00) [2]

> Германн  (30.03.2011 11:55:13)  [13]

Ой ли


Anatoly Podgoretsky   (2011-03-30 12:07:00) [3]


> =-O Ну сработает, а объект кто уничтожать будет? Пушкин?

С этим согласен, но ты бы так и писал, а не ругался.


Германн   (2011-03-30 11:55:00) [4]


> brother ©   (30.03.11 10:50) [11]
>
> так он и не создастся тогда?

Если не создастся, то и проблем не будет. А если создастся, то никакие последующие исключения не должны воспрепятствовать последующему уничтожению его.


Dennis I. Komarov   (2011-03-30 10:53:00) [5]

там есть много точек, значит может быть моного исключений


brother   (2011-03-30 10:50:00) [6]

так он и не создастся тогда?


Dennis I. Komarov   (2011-03-30 10:46:00) [7]


> эксепшен на креате?

С чего вдруг? Внимательнее читаем ;)


> до сих пор использовал такую конструкцию:
> with  (имя класса). Create(Self) do
> begin
> ...
> Free;
> end;


brother   (2011-03-30 10:38:00) [8]

эксепшен на креате?


Dennis I. Komarov   (2011-03-30 10:26:00) [9]


> Не обязательно, исключение и так сработает, выше, если здесь
> не надо его обрабатывать, то зачем делать? Это не ошибка!
>

=-O Ну сработает, а объект кто уничтожать будет? Пушкин?


brother   (2011-03-30 10:23:00) [10]

> к стенке за такое...

что не так?
согласен с [5], может не тут эксепшен надо ловить?


brother   (2011-03-30 10:22:00) [11]

обычно делал
with TOracleDataSet(DataSet) do
 with frStatementAccount_Fr(ActiveView.Filter) do
 begin

 end;
?


Anatoly Podgoretsky   (2011-03-30 10:09:00) [12]


> > with  (имя класса).Create(Self) dobegin  ...  Free;end;
>
>
> к стенке за такое...
>
> try/finally

Не обязательно, исключение и так сработает, выше, если здесь не надо его обрабатывать, то зачем делать? Это не ошибка!


Dennis I. Komarov   (2011-03-30 09:14:00) [13]


> with  (имя класса).Create(Self) dobegin  ...  Free;end;

к стенке за такое...

try/finally


Eugene1501   (2011-03-29 17:34:00) [14]

Ой, спасибо, протупил


Palladin   (2011-03-29 17:11:00) [15]


> Eugene1501   (29.03.11 16:42) 

with + F1


OW   (2011-03-29 16:51:00) [16]

тоже самое примерно

type
 TA = record
   FA1: Integer;
 end;
 TB = record
   FB1: Integer;
 end;
var
 A: TA;
 B: TB;
begin
 with A,B do
   FA1 := FB1;


Наверх

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