Topic: Подскажите, как прервать последовательность выполнения скрипта

Есть два момента

procedure frmAddNote_Button4_OnClick (Sender: TObject; var Cancel: boolean);
begin
    //Проверка на заполнение полей
    if (frmAddNote.Edit1.Text='') then ShowHint(frmAddNote.Edit1, 'Обязательное поле') else
    begin
        Cancel := True;
    end;

    //Сохранение
    frmAddNote.Button1.Click;
end;

как не дать здесь выполнить frmAddNote.Button1.Click;

и.

procedure frmMain_OnClose (Sender: TObject; Action: string);
begin
    if IDNO = MessageBox('Вы действительно хотите выйти?','Подтверждение',MB_YESNO+MB_ICONQUESTION) then frmMain.Close;
    frmMain.Show;
end;

При ответе "нет" циклически появляется повторное подтверждение, процедура не та что ли...

Re: Подскажите, как прервать последовательность выполнения скрипта

Первый момент:

procedure frmAddNote_Button4_OnClick (Sender: TObject; var Cancel: boolean);
begin
    //Проверка на заполнение полей
    if (frmAddNote.Edit1.Text='') then 
    begin
      ShowHint(frmAddNote.Edit1, 'Обязательное поле');
      Cancel := False;
    end
    else
      //Сохранение
      frmAddNote.Button1.Click;
end;

Для предотвращения закрытия главной формы нужно использовать другой обработчик, добавьте этот код в скрипт:

// обработчик запроса на закрытие формы
procedure frmMain_OnCloseQuery (Sender: TObject; var CanClose: Boolean);
begin
  if MessageBox('Вы действительно хотите выйти?','Подтверждение',MB_YESNO+MB_ICONQUESTION) = IDNO then
    CanClose:= False;
end;
Визуальное программирование: блог и телеграм-канал.

Re: Подскажите, как прервать последовательность выполнения скрипта

А такой

procedure frmMain_OnCloseQuery (Sender: TObject; var CanClose: Boolean);

процедуры нет в свойствах формы версии 5,5...

Re: Подскажите, как прервать последовательность выполнения скрипта

vit007 wrote:

А такой

procedure frmMain_OnCloseQuery (Sender: TObject; var CanClose: Boolean);

процедуры нет в свойствах формы версии 5,5...

Не все существующие обработчики событий присутствуют в редакторе свойств компонент.


Данную процедуру нужно добавить не через свойства формы, а непосредственно в редакторе скриптов.

Визуальное программирование: блог и телеграм-канал.

Re: Подскажите, как прервать последовательность выполнения скрипта

Удалил из формы onClose ссылку и так и оставил в списке скриптов... эффекта нет, при нажатии на крестик просто закрывает и все.

Re: Подскажите, как прервать последовательность выполнения скрипта

Обработчик нужно подключить, тоже скриптом:

begin
  frmMain.OnCloseQuery := @frmMain_OnCloseQuery;
end.
Визуальное программирование: блог и телеграм-канал.