(01-05-2021, Saat: 16:43)OmerAsaf Adlı Kullanıcıdan Alıntı:(01-05-2021, Saat: 15:54)41linea41 Adlı Kullanıcıdan Alıntı: Mobil uygulamalar da uygulamanın yaşamına siz son veremiyorsunuz. Bu sebeple OnClose event'ını çalıştıramıyorsunuz.
Yaşam döngüsü içerisindeki diğer olaylardan birini seçip bu kodu çalıştırmalısınız.
Ya da bu kontrol işleminden vazgeçmeli yerine alternatifler düşünmelisiniz.
Merhabalar,
Yaşam döngüsü içerisindeki WillBecomeInactive olayını seçtim. Fakat Geri tuşuna basınca uyarı yazıcı çıkmadı kendini arka plana attı.
kodu yanlış yere mi yazdım yoksa bu şekilde değil mi?
Yardımcı olur musunuz.
function TFormAna.MobilOlaylar(Olaylar:TApplicationEvent;Sender:Tobject): Boolean; Begin case Olaylar of TApplicationEvent.FinishedLaunching: Bilgi('FinishedLaunching: Uygulama başlatıldı'); TApplicationEvent.BecameActive: Bilgi('BecameActive: Aktif durumda'); TApplicationEvent.WillBecomeInactive: Begin Bilgi('WillBecomeInactive: Arkaplana alınacak'); MessageDlg('Programdan Çıkmak İstiyor Musunuz.?', System.UITypes.TMsgDlgType.mtInformation, [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0, procedure(const AResult: TModalResult) begin case AResult of mrYES: begin Application.Terminate; END; mrNo: BEGIN ; END; END; end); End; TApplicationEvent.EnteredBackground: Bilgi('EnteredBackground: Arkaplanda'); TApplicationEvent.WillBecomeForeground: Bilgi('WillBecomeForeground: Ön plana alınacak'); TApplicationEvent.WillTerminate: Bilgi('WillTerminate: Sonlandırıldı'); TApplicationEvent.LowMemory: Bilgi('Düşük bellek'); TApplicationEvent.TimeChange: Bilgi('TimeChange: Tarih zaman değişti'); TApplicationEvent.OpenURL: Bilgi('OpenURL: URL yönlendirme yapıldı'); end; Result := True; End;
Bilmiyorum size ne ölçüde referans olabilir ama ben Android uygulamalarımda aşağıdaki gibi kullanıyorum;
procedure TForm1.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
// Back button pressed, keyboard visible, so do nothing...
end else
begin
Key := 0;
// Back button pressed, keyboard not visible or not supported on this platform, lets exit the app...
MessageDlg('Exit Application?', TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], -1, OnCloseDialog);
end;
end;
end;
NOT : Uses'e FMX.VirtualKeyboard eklemeyi unutmayın!
Ne ekersen onu biçersin!

