AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TDataSet.Refresh erweitern

Ein Thema von ConnorMcLeod · begonnen am 12. Dez 2015 · letzter Beitrag vom 13. Dez 2015
 
nahpets
(Gast)

n/a Beiträge
 
#7

AW: TDataSet.Refresh erweitern

  Alt 12. Dez 2015, 15:51
Zugegebenermaßen ist mir nicht klar, was Du möchtest.

Versuch einer Erklärung:

Du möchtest ein TDataSet verwenden und von dem die Methode Refresh in einer veränderten Form (bzw. nur unter bestimmten Bedingungen nutzen), ohne einen Nachkommen von TDataSet zu erstellen, der über eine veränderte Methode Refresh verfügt.

Zeig uns doch bitte mal die Routine aus Deinem Quelltext, an der Refresh aufgerufen werden soll. Eventuell fällt ja jemandem eine Möglichkeit ein, dort entsprechend Deinen Wünschen zu reagieren.

Oder hast Du keinen Einfluß auf den Aufruf von Refresh, möchtest aber trotzdem ein verändertes Verhalten erreichen?

Mir fällt jetzt eigentlich nur ein, wie oben bereits vorgeschlagen, onBeforeRefresh zu nutzen, dort die Bedingung zu prüfen und, falls diese nicht erfüllt ist, eine Exception zu werfen, damit TDataSet.Refresh nicht aufgerufen wird. Aber dann benötigst Du auch eine Fehlerbehandlungsroutine, die diesen Fehler ignoriert und den Programmablauf ungestört weiter machen lässt, sinnvoll meldet...

Also eventuell sowas:
Delphi-Quellcode:
type
  ERefreshError = Class(Exception);

...

procedure TfmTextverwaltung.myDataSetBeforeRefresh(DataSet: TDataSet);
begin
  try
    if meineAbbruchBedingung then begin
      raise ERefreshError.Create('Refresh nicht zulässig.');
    end;
  except
    on e: ERefreshError do begin
      // Das "Fressen" der Exception an dieser Stelle wirkt wie das Exit.
      // TDataSet.Refresh wird nicht ausgerufen.
      // ShowMessage(e.message);
    end;
  end;
end;
  Mit Zitat antworten Zitat
 

 

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 03:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz