der Regel in einer Delphi-VCL-Anwendung, die eine TDataset Nachkomme als Datenspeicher verwendet (zB TClientDataset), in der Dataset1BeforeDelete Handler tun wir etwas wie folgt aus:Wie zur Bestätigung löschen eines Datensatzes in Delphi FMX Android
procedure TClientModule1.MyCDSBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg('Delete?', mtCOnfirmation, [mbyes, mbNo], 0) <> mrYes then
SysUtils.Abort
end;
jetzt in einer FMX-Anwendung entwickelt, um auf Android läuft, dies zu:
procedure TClientModule1.MyCDSBeforeDelete(DataSet: TDataSet);
MessageDlg('Delete?'
,
TMsgDlgType.mtWarning, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0,
procedure(const AResult: TModalResult)
begin
if AResult <> mrYes then
Abort;
end
);
end;
Außer, das ist nicht zur Arbeit zu gehen! Das messagedlg wird die Aufmerksamkeit des Benutzers auf sich ziehen, aber der Event-Handler-Code wird fortgesetzt und der Datensatz kann trotzdem gelöscht werden.
Was ist die Lösung?
Ich habe bereits du ein Hinweis. Benutze das Ereignis nicht ... – whosrdaddy
Ich bin ewig dankbar! – nolaspeaker