Forum: Programmieren allgemein
Delphi
by ConnorMcLeod,
12. Dez 2015
Yo, sehr nette Idee! Ich werde noch sicherheitshalber ein mglw bereits zugewiesenes OnBeforeRefresh Event in eine Variable retten und danach wieder auswechseln. Das wär's dann.
Vielen Dank!
Forum: Programmieren allgemein
Delphi
by ConnorMcLeod,
12. Dez 2015
Leider kann/darf ich keinen Quellcode zeigen, das wäre auch etwas umständlich, aber das Prinzip geht so:
type
// diese Klasse kann ich nicht verändern:
TDataSetMitExtraFunktionalitaet = class(TDataSet)
public
procedure NichtAenderbar;
end;
implementation
Forum: Programmieren allgemein
Delphi
by ConnorMcLeod,
12. Dez 2015
Im Prinzip ja. Aber ... ich bräuchte zusätzlich noch etwas wie ein reintroduce, weil die Objekte während des Programmablaufes auch mal als TDataSet verwendet werden und nicht immer nur als tDataSetTest. Aber reintroduce greift nicht, sondern es kommt immer das Refresh von TDataSet dran. Deswegen wollte ich den Code auswechseln.
Forum: Programmieren allgemein
Delphi
by ConnorMcLeod,
12. Dez 2015
Danke für die Idee!
AFAIK springt Abort zum nächsten finally und beendet dann das Programm.
Wenn ich das BeforeRefresh überschreibe, dann kommt Refresh trotzdem in jedem Fall dran. Innerhalb von Refresh wird BeforeRefresh ausgeführt ...
danke trotzdem!
Forum: Programmieren allgemein
Delphi
by ConnorMcLeod,
12. Dez 2015
Hallo Kollegen,
es geht darum, die Refresh-Methode von TDataSet zu erweitern von:
procedure TDataSet.Refresh;
begin
DoBeforeRefresh;
CheckBrowseMode;
UpdateCursorPos;
try
InternalRefresh;