delphi: how to to store TCustomFrames and records in one list -
i using tobjectlist<tcustomframe> store tcustomframes. want store more information regarding tcustomframe in same list. record nice.
which delphi class prefer store tcustomframes , records in same list?
the tcustomframes , records added @ runtime.
create single record hold information:
type tframeinfo = record frame: tcustomframe; foo: string; bar: integer; end; hold in tlist<tframeinfo>.
i note using tobjectlist<t> rather tlist<t>. reason doing if setting ownsobjects true. seems unlikely since doubt list in charge of lifetime of gui objects. note future, if find using tobjectlist<t> ownsobjects set false may switch tlist<t>.
now, in case need list control lifetime you'd best using class rather record tframeinfo.
type tframeinfo = class private fframe: tcustomframe; ffoo: string; fbar: integer; public constructor create(aframe: tcustomframe; afoo: string; abar: integer); destructor destroy; override; property frame: tcustomframe read fframe; // etc. end; constructor tframeinfo.create(aframe: tcustomframe; afoo: string; abar: integer); begin inherited create; fframe := aframe; // etc. end; destructor tframeinfo.destroy; begin fframe.free; inherited; end; and hold in tobjectlist<tframeinfo> ownsobjects set true.
Comments
Post a Comment