Гость
Map
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh и уничтожение формы при открытом PopupMenu / 4 сообщений из 4, страница 1 из 1
25.02.2022, 16:47
    #40136454
ahmed sultanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh и уничтожение формы при открытом PopupMenu
Здравствуйте, коллеги.
В моем проекте используется компонент TDBGridEh.
Борюсь и никак не могу победить проблему:

Есть форма ("vF"), в которой расположен DBGridEh и эта форма закрывается сторонним событием (предположим - по таймеру).
В обработчике события:
vF.close;
vF.Free;

Проблема возникает если в момент срабатывания обработчика на форме открыто контекстное меню, вызываемое на DBGridEh-е.
Происходит Access Violation
(где то в безднах исходников самого GridEh-а:
procedure TGridAxisDataEh.CheckUpdateAxises;
begin
Grid.CheckUpdateAxises;
end;)

Судя по всему при закрытии контекстного меню выполняется какое то обращение к форме vF (которая к тому моменту уже vF.Free).
Для обычного TDBGrid равно как и для прочих vcl-компонентов ничего подобного не происходит.

Вопрос:
1. Нет ли какого то механизма позволяющего закрыть контекстное меню и ДОЖДАТЬСЯ его закрытия
Закрыть меню
Если меню.закрыто то
vF.close;
vF.Free;

2. Может быть есть какой то способ обработать эту ошибку в самом GridEh?

Спасибо
...
Рейтинг: 0 / 0
25.02.2022, 17:08
    #40136461
pizmon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh и уничтожение формы при открытом PopupMenu
ahmed sultanov,

В OnClose формы нужно написать Action := caFree

Free формы не вызывать.
...
Рейтинг: 0 / 0
26.02.2022, 21:55
    #40136545
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh и уничтожение формы при открытом PopupMenu
А что если попробовать в обработчике освобождать попап ?
...
Рейтинг: 0 / 0
27.02.2022, 09:58
    #40136571
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh и уничтожение формы при открытом PopupMenu
ahmed sultanov
Борюсь и никак не могу победить проблему:

Что плохого происходит, когда Вы используете существующий со времён Delphi 1 специально для решения этой задачи TForm.Release?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh и уничтожение формы при открытом PopupMenu / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]