Ja, genau dann, wenn Du an der Original-Klasse nichts ändern kannst und auch keine Ableitung erstellen willst, können Class-Helper helfen. Und oftmals geht es bei den Anwendungsfällen für Class-Helper auch nicht punktuell um Klassen, die allein für sich im Raum stehen und damit (im Allgemeinen) wunderbar ableitbar wären, sondern vielleicht um Klassen, die wiederum auch von anderen anderen Klassen genutzt werden und damit eine Ableitung nicht unmittelbar weiterhelfen würde.
Ich selbst habe die Class-Helper zum Beispiel genutzt, um die Edit-Controls eines TStringGrids an meine Bedürfnisse anzupassen:
Delphi-Quellcode:
IPEHelper = class helper for TInplaceEdit
public
procedure UpdateAlignment( AAlignment : TAlignment );
procedure SetFontName( const aName : string );
procedure SetFontColor( const aColor : TColor );
procedure SetFontSize( const aSize : integer );
end;
Auf diese Weise habe ich mir einem Zugang zu Feldern geschaffen, die ich eigentlich nicht hätte ansprechen können.
Hier ein Blog-Eintrag, der einer TStringList mittels Class-Helper ein Rückwärts-Enumerator hinzufügt:
http://17slon.com/blogs/gabr/2007/03...t-5-class.html
Daniel R. Wolf
mit Grüßen aus Hamburg