Последняя версия DataExpress 3 beta от 9 октября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

OnDatabaseClose

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

OnDatabaseClose

Сообщение YurAnt » Вт янв 09, 2018 7:35 pm

admin писал(а):3. Добавлено событие главного окна OnDatabaseClose, которое может быть обработано расширением для освобождения памяти.

1. В дереве не нашлось.

2.

Код: Выделить всё

procedure DBClose(Sender:TObject);
begin
end;

procedure Form_Create;
begin
  MainWindow.OnDatabaseClose:=@DBClose;
end;

при выходе из воркмода - вислер с перегрузкой проц-ра, AV или тихий вылет программы (по настроению).

Аватара пользователя
admin
Разработчик
Сообщения: 3831
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: OnDatabaseClose

Сообщение admin » Вт янв 09, 2018 8:35 pm

Это событие можно использовать только в расширениях. В формах его использовать нельзя, потому что форма освобождает память раньше, чем сработает это событие, а следовательно, программа пытается выполнить уже несуществующий код.

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: Сб сен 02, 2017 5:05 pm

Re: OnDatabaseClose

Сообщение KoalaBear » Вт янв 09, 2018 10:08 pm

А ещё оно работает у меня в модуле "Main"
upd: затупил, ведь на то оно и событие главного окна :?

Аватара пользователя
Гocть
Эксперт
Сообщения: 1130
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: OnDatabaseClose

Сообщение Гocть » Пн окт 08, 2018 12:47 pm

admin писал(а):Это событие можно использовать только в расширениях. В формах его использовать нельзя, потому что форма освобождает память раньше, чем сработает это событие, а следовательно, программа пытается выполнить уже несуществующий код.

А что то возможно придумать для форм? Бывает нужно 10 строк кода черкануть непосредственно в форме, а выходит, что приоритет выхода из процедур без EAccessViolation только у расширений.
Фрилансер. Разработка на заказ. Консультирование.

Аватара пользователя
admin
Разработчик
Сообщения: 3831
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: OnDatabaseClose

Сообщение admin » Пн окт 08, 2018 1:25 pm

А Form_Destroy разве не подходит? Если это что-то глобальное, то код в Main-е размещайте.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1130
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: OnDatabaseClose

Сообщение Гocть » Пн окт 08, 2018 3:17 pm

Да уже и так и сяк.
Фрилансер. Разработка на заказ. Консультирование.

Аватара пользователя
admin
Разработчик
Сообщения: 3831
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: OnDatabaseClose

Сообщение admin » Пн окт 08, 2018 7:37 pm

Что-то не совсем понял.