AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi OnDeleteError - Fehlermeldung unterdrücken

OnDeleteError - Fehlermeldung unterdrücken

Ein Thema von hirnstroem · begonnen am 8. Feb 2007 · letzter Beitrag vom 8. Feb 2007
Antwort Antwort
hirnstroem

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

OnDeleteError - Fehlermeldung unterdrücken

  Alt 8. Feb 2007, 14:14
'loha Folks,

die folgende Prozedur wird aufgerufen, wenn beim Speichern eines Datensatzes etwas schief läuft.

Delphi-Quellcode:
procedure TIWUserSession.ADODataSet_DeviceDeleteError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin

end;
Normalerweise wird dann eine Fehlermeldung angezeigt. Anstatt der Fehlermeldung würde ich aber gerne folgende Funktion ausführen, weiss aber nicht wie ich die Fehlermeldung wegbekomme.

IWServerController.Move('frmSystem_Devices_Management_Select'); Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: OnDeleteError - Fehlermeldung unterdrücken

  Alt 8. Feb 2007, 14:30
ich denke es kommt eine Exeption beim Speichern.

Also einfach mit try ... except ... behandeln.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hirnstroem

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

Re: OnDeleteError - Fehlermeldung unterdrücken

  Alt 8. Feb 2007, 14: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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz