Einzelnen Beitrag anzeigen

hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#3

Re: OnDeleteError - Fehlermeldung unterdrücken

  Alt 8. Feb 2007, 13:47
Das ist einleuchtend, nur geht es in diesem Fall (meiner Meinung nach) gar nicht, weil ich eine Komponente Namens TIWDBNavigator benutze, also nicht selber das Post Kommando gebe. Und da ich dieses Post Kommando nirgends sehe, kann ich es nicht mit einem try-except umhüllen (wahrscheinlich ginge dies, ich sehe aber nicht wie).

Aber ich bin soeben über die Abort Routine gestolpert. Ist wohl nicht schön, aber funktioniert.

[Edit]

Und anstatt OnDeleteError, mache ich jetzt folgendes:

Delphi-Quellcode:
procedure TfrmSystem_Devices_Management_Edit.BeforeDelete(Sender: TDataSet);
begin
  DataSet.BeforePost := nil;
  DataSet.Edit;
  DataSet.FieldByName('Active').Value := False;
  DataSet.FieldByName('UniqueID').Value :=
    DataSet.FieldByName('Address').AsString + '_' +
    DataSet.FieldByName('DeviceType.DeviceTypeID').AsString + '_' +
    DataSet.FieldByName('Active').AsString + '_' +
    DateTimeToStr(Now);
  DataSet.Post;
  DataSet.BeforeDelete := nil;
  IWServerController.Move('frmSystem_Devices_Management_Select');
  Abort;
end;
Ich will eigentlich nur das Löschen eines Datensatzes verhindern, aber trotzdem den Löschen-Knopf dieser Komponente benutzen um Datensätze verschwinden zu lassen.

[/Edit]
inde deus abest
  Mit Zitat antworten Zitat