Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: in Tag Integer oOder TObject schreiben

  Alt 6. Jan 2016, 13:45
Wer XE4 sein Eigen nennt muss sich mit solchen Unarten doch nicht mehr herumschlagen. Da baut man sich einen class Helper und gut ist:
Delphi-Quellcode:
HelperForComponent = class helper for TComponent
private
  procedure SetTagObject( const Value: TObject );
  function GetTagObject: TObject;
public
  function TagObjectAs<T:class>: T;
  property TagObject: TObject read GetTagObject write SetTagObject;
end;

function HelperForComponent.TagObjectAs<T>:T;
begin
  if TagObject is T then
    Result := TagObject as T
  else
    Result := nil;
end;
Die TagObject-Referenzen selber speichert man in einem Dictionary ab.

Freundlicherweise kann man sich von einem TComponent informieren lassen, wenn dieses aus dem Speicher fliegt, um das Dictionary auch entsprechend zu bereinigen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat