CanClose in OnCloseQuery event does not work lazarus / 43-Android ---------------------------------------------------------------------- neuro · 2025-10-31 11:25 I want to prevent Android app from closing, however program code below does not work: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TAndroidModule1.DataModuleCloseQuery(Sender: TObject; var CanClose: boolean);begin  CanClose:= False;end; How to solve this problem? ---------------------------------------------------------------------- Thaddy · 2025-10-31 11:46 I was not aware that would work on a datamodule. It needs to be done at application level. ---------------------------------------------------------------------- neuro · 2025-10-31 12:30 Quote from: Thaddy on October 31, 2025, 12:46:27 pmI was not aware that would work on a datamodule. It needs to be done at application level. OnCloseQuery event works in Delphi Android apps, but it does not work in Lazarus Android. Something must be fixed in the implementation of OnCloseQuery event in LAMW. ---------------------------------------------------------------------- neuro · 2025-10-31 15:54 I have found a solution for preventing Android app from closing, below is sample program code: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i var can_close: Boolean;    procedure TAndroidModule1.AndroidModule1JNIPrompt(Sender: TObject);begin  can_close := false;  end;  procedure TAndroidModule1.AndroidModule1SpecialKeyDown(Sender: TObject;  keyChar: char; keyCode: integer; keyCodeString: string; var mute: boolean);begin //if (keyCodeString = 'KEYCODE_BACK') thenif (keyCode = 4) then  // KEYCODE_BACKbegin   if(can_close = true) then  begin    mute := false; //close app  end  else  begin    mute := true; //do not close app    jDialogYN1.Msg := 'Do you really want to exit?';    jDialogYN1.Title := 'Exit';    jDialogYN1.Show();  end; end; end;  procedure TAndroidModule1.jDialogYN1ClickYN(Sender: TObject; YN: TClickYN);begin case YN of  ClickYes :    begin      can_close := true;      Close();    end;  ClickNo  :    begin      can_close := false;    end;end; end;