Конференция "Начинающим" » Что значит подобная конструкция [D5]
 
  • Eugene1501 (29.03.11 16:42) [0]
    Подскажите пожалуйста, как работает следующая конструкция.

    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;

    А что означает приведенная выше запись не пойму. Очень нужно разобраться в чужом проекте. Заранее спасибо.
  • OW © (29.03.11 16:51) [1]
    тоже самое примерно

    type
     TA = record
       FA1: Integer;
     end;
     TB = record
       FB1: Integer;
     end;
    var
     A: TA;
     B: TB;
    begin
     with A,B do
       FA1 := FB1;
  • Palladin © (29.03.11 17:11) [2]

    > Eugene1501   (29.03.11 16:42) 

    with + F1
  • Eugene1501 (29.03.11 17:34) [3]
    Ой, спасибо, протупил
  • Dennis I. Komarov © (30.03.11 09:14) [4]

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

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

    try/finally
  • Anatoly Podgoretsky © (30.03.11 10:09) [5]

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

    Не обязательно, исключение и так сработает, выше, если здесь не надо его обрабатывать, то зачем делать? Это не ошибка!
  • brother © (30.03.11 10:22) [6]
    обычно делал
    with TOracleDataSet(DataSet) do
     with frStatementAccount_Fr(ActiveView.Filter) do
     begin

     end;
    ?
  • brother © (30.03.11 10:23) [7]
    > к стенке за такое...

    что не так?
    согласен с [5], может не тут эксепшен надо ловить?
  • Dennis I. Komarov © (30.03.11 10:26) [8]

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

    =-O Ну сработает, а объект кто уничтожать будет? Пушкин?
  • brother © (30.03.11 10:38) [9]
    эксепшен на креате?
  • Dennis I. Komarov © (30.03.11 10:46) [10]

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

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


    > до сих пор использовал такую конструкцию:
    > with  (имя класса).Create(Self) do
    > begin
    > ...
    > Free;
    > end;
  • brother © (30.03.11 10:50) [11]
    так он и не создастся тогда?
  • Dennis I. Komarov © (30.03.11 10:53) [12]
    там есть много точек, значит может быть моного исключений
  • Германн © (30.03.11 11:55) [13]

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

    Если не создастся, то и проблем не будет. А если создастся, то никакие последующие исключения не должны воспрепятствовать последующему уничтожению его.
  • Anatoly Podgoretsky © (30.03.11 12:07) [14]

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

    С этим согласен, но ты бы так и писал, а не ругался.
  • Anatoly Podgoretsky © (30.03.11 12:08) [15]
    > Германн  (30.03.2011 11:55:13)  [13]

    Ой ли
  • Dennis I. Komarov © (30.03.11 12:19) [16]

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

    Я ругался? Не, я сразу приговорил, ибо если есть Create/Free - будь добр try/finally
 
Конференция "Начинающим" » Что значит подобная конструкция [D5]
Есть новые Нет новых   [134470   +13][b:0][p:0.001]