Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
24. Sep 2009
uses IniFiles;
type TIniFileHelper = class helper for TIniFile
procedure WriteString(const Section, Ident, Value: String); override;
end;
procedure TIniFileHelper .WriteString(const Section, Ident, Value: String);
begin
inherited WriteString(Section, Ident, Decrypt(Value));
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
24. Sep 2009
Mit Class-Helpern kann man eine Klasse nachträglich um neue Funktionen erweitern, ohne die Implementation der Klasse zu verändern.
Dießes bedeutet aber, daß man keine Funktionen/Prozeduren überschreiben und auch keine neuen Klassenvariablen einbauen kann, denn dieses würde die Klasse ändern, was ja nicht geht.
Da du aber eine Funktion (hier ReadString) ersetzen willst, dann geht das also...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
24. Sep 2009
Mir war aber so, als wenn man mit den ClassHelpern nur erweitern kann, ABER nichts überschreiben,
also müßte er vermutlich seine Funktion ReadString anders nennen und überall die "neue" Funktion direkt aufrufen :gruebel:
Schließlich geht Overload NUR (egal wo), wenn sich die Funktions-Signatur (Parameter) unterscheidet.