자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 델파이 RIO 안드로이드 백버튼시 종료문제
2018.11.29 17:20
안녕하세요
델파이 RIO버젼으로 안드로이드용 앱을 개발하는데
기존까지는 문제없이 잘 되었는데...버젼업을 하면서
생기는 문제입니다.
아래는 소스코드입니다.
-------------------------------------------------------------------------------------
procedure TfMain_Form.FormKeyUp(Sender: TObject; var Key: Word;
var KeyChar: Char; Shift: TShiftState);
var
FService : IFMXVirtualKeyboardService;
begin
if Key = vkHardwareBack then
begin
TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService));
if (FService <> nil) and (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardState) then
begin
FService.HideVirtualKeyboard;
Key := 0;
Exit;
end
else
if (FService <> nil) then
begin
if MessageDlg('Exit Application?', TMsgDlgType.mtConfirmation,
[TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], -1) = mrOK then
begin
// Exit application here...
end
else
begin
end;
Key := 0;
end;
end;
-------------------------------------------------------------------------------------
상기처럼 하면 왜 사용자에게 묻지 않고
안드로이드 폰에서는 바로 종료가 되는지 알수 없습니다.
코드상의 문제인가요...고수님의 답변 부탁드립니다.
Delphi 델파이 RIO 안드로이드 백버튼시 종료문제
2018.11.29 17:20
안녕하세요
델파이 RIO버젼으로 안드로이드용 앱을 개발하는데
기존까지는 문제없이 잘 되었는데...버젼업을 하면서
생기는 문제입니다.
아래는 소스코드입니다.
-------------------------------------------------------------------------------------
procedure TfMain_Form.FormKeyUp(Sender: TObject; var Key: Word;
var KeyChar: Char; Shift: TShiftState);
var
FService : IFMXVirtualKeyboardService;
begin
if Key = vkHardwareBack then
begin
TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService));
if (FService <> nil) and (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardState) then
begin
FService.HideVirtualKeyboard;
Key := 0;
Exit;
end
else
if (FService <> nil) then
begin
if MessageDlg('Exit Application?', TMsgDlgType.mtConfirmation,
[TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], -1) = mrOK then
begin
// Exit application here...
end
else
begin
end;
Key := 0;
end;
end;
-------------------------------------------------------------------------------------
상기처럼 하면 왜 사용자에게 묻지 않고
안드로이드 폰에서는 바로 종료가 되는지 알수 없습니다.
코드상의 문제인가요...고수님의 답변 부탁드립니다.
안드로이드 다이얼로그 표현하는 방식이 비동기로 변경되었습니다.(XE7 부터)
다음 링크의 답변을 참고하시면 도움이 될것같습니다.
http://tech.devgear.co.kr/delphi_qna/420484