Как создать событие закрытия формы из другого Юнита? Суть такова: в Delphi (и не спрашивайте, почему именно в Delphi) нужно в одном юните создать форму из другого. Делается это подключением соответствующего Юнита.uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, LView;
...
procedure TForm2.ButtonForwardClick(Sender: TObject);
begin
LView.name := 'l'+Form2.RadioGroup1.ItemIndex+'.rtf'; // LView - 3-й юнит
Form3.Create(self);
Form2.Enabled := false;
end;
После создания формы 3, вторая отключается. Однако включить её из 3-го юнита нельзя, ибо компилятор начинает ругаться на цикличность обращений юнитов.
Вопрос такой: можно в юните 2 прописать ивент на закрытие формы 3?

21 Авг 2019 в 06:29
165 +1
1
Ответы
1

Да, можно создать событие закрытия формы из другого юнита. Для этого необходимо добавить обработчик события OnClose или OnCloseQuery к форме, чтобы отслеживать закрытие формы.

Например, в юните 2 вы можете добавить следующий код:

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form2.Enabled := true;
end;

Таким образом, при закрытии формы 3, форма 2 будет снова включена. Важно не забыть связать этот обработчик события с событием OnClose формы в её свойствах или в конструкторе юнита 2.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 093 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир