Главная страница
    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
15-1163750434
Alien1769
2006-11-17 11:00
2006.12.10
Класс числа


2-1163956876
Alians
2006-11-19 20:21
2006.12.10
GetMem для массива


2-1164467384
Strate
2006-11-25 18:09
2006.12.10
Непонятный Access Violation...


9-1139484128
pavel_guzhanov
2006-02-09 14:22
2006.12.10
3Dmax и Delphi


15-1164112027
*Ray*
2006-11-21 15:27
2006.12.10
библиотека JVCL (проект Jedi)





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