Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

В ДатаСете непонятность   Найти похожие ветки 

 
Чапаев ©   (2006-11-22 16:27) [0]

procedure TDataSet.SetActive(Value: Boolean);
begin
 if (csReading in ComponentState) then
 begin
   FStreamedActive := Value;
 end
 else
   if Active <> Value then
   begin
     if Value then
     begin
       DoBeforeOpen;
       try
         OpenCursor;
       finally
         if State <> dsOpening then
           OpenCursorComplete;
       end;
     end else
     begin
       if not (csDestroying in ComponentState) then DoBeforeClose;
       SetState(dsInactive);
       CloseCursor;
       if not (csDestroying in ComponentState) then DoAfterClose;
     end;
   end;
end;

Это зачем же они так делают?


 
novill ©   (2006-11-22 16:33) [1]

А в чем вопрос? если SetActive производится в процессе разрушения, то не обрабатывать события.


 
Anatoly Podgoretsky ©   (2006-11-22 16:37) [2]

> Чапаев  (22.11.2006 16:27:00)  [0]

Затем, что компонент может находиться в состоянии csDestroying


 
Чапаев ©   (2006-11-22 16:40) [3]

> [2] Anatoly Podgoretsky ©   (22.11.06 16:37)
И почему при этом BeforeClose обрабатывать не нужно? Вот это понять не могу.


 
Anatoly Podgoretsky ©   (2006-11-22 16:44) [4]


> Чапаев ©   (22.11.06 16:40) [3]

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


 
novill ©   (2006-11-22 16:46) [5]

> [3] Чапаев ©   (22.11.06 16:40)

Стоит посмотреть, когда в процессе уничтожения компонента вызывается SetActive, может этого уже нельзя делать.


 
Чапаев ©   (2006-11-22 16:57) [6]

> [5] novill ©   (22.11.06 16:46)
В принципе, в OnDestroy модуля данных вызывался Table.Close. А Table.BeforeClose не отрабатывал.



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

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
2-1164276115
breeze
2006-11-23 13:01
2006.12.10
Имя приложения внесшего изменеия в файловую систему


15-1163945818
Логин
2006-11-19 17:16
2006.12.10
ПО для управления компьютерным салоном.


15-1164029660
Суслик
2006-11-20 16:34
2006.12.10
Свободный FTP сервер.


15-1164090702
Cerberus
2006-11-21 09:31
2006.12.10
Где скачать учебники


2-1163881777
Ingwar
2006-11-18 23:29
2006.12.10
Автоскролинг в ListBox e