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

Вниз

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

 
Чапаев ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.046 c
2-1163977038
!DEMON!
2006-11-20 01:57
2006.12.10
Загрузка текста в ТМЕМО


8-1146395580
Gumus
2006-04-30 15:13
2006.12.10
Popupmenu


15-1163771975
Labamba
2006-11-17 16:59
2006.12.10
PIN to PIN messages


2-1163850359
Виталик 2006
2006-11-18 14:45
2006.12.10
Не присваиваются значения!


2-1164052259
c0rben
2006-11-20 22:50
2006.12.10
Вопрос по компоненту TListBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский