Sign in Join
Wiki copytemporary

TObject/fi

English · Suomi

TObject on kantaluokka kaikille luokille ( class ) , riippumatta siitä onko niin määritelty tai ei. Siinä on erittäin yleisiä metodeita, pääosin virtuaalisia (virtual ). Peruste TObject:lle on, että Object Pascalissa jokainen luokka on johdettu toisesta luokasta, ja TObject on poikkeus, joka päättää tämän ketjun.

Rakentaja constructor TObject.Create(), on kaikkien muiden luokkien oletuksena perimä. Se voidaan piilottaa tekemällä toinen rakentaja, jolla on sama nimi johdetussa luokassa joko parametreilla tai ilman niitä. Tämä on kätevä Singleton-mallin toteuttamisessa.

pascal
 { Määritelty tiedostossa objpash.inc }

constructor Create; 
destructor  Destroy; virtual;
class function newinstance : tobject; virtual;
procedure CleanupInstance;
procedure FreeInstance; virtual;

function  SafeCallException(exceptobject : tobject; exceptaddr : codepointer) : HResult; virtual;
procedure DefaultHandler(var message);virtual;
procedure Free;

class function InitInstance(instance : pointer) : tobject; 
class function ClassType : tclass; 
class function ClassInfo : pointer;
class function ClassName : shortstring;
class function ClassNameIs(const name : string) : boolean;
class function ClassParent : tclass;
class function InstanceSize : SizeInt;
class function InheritsFrom(aclass : tclass) : boolean;
class function StringMessageTable : pstringmessagetable;
class function MethodAddress(const name : shortstring) : codepointer;
class function MethodName(address : codepointer) : shortstring;
function FieldAddress(const name : shortstring) : pointer;

procedure AfterConstruction;virtual;
procedure BeforeDestruction;virtual;

procedure DefaultHandlerStr(var message);virtual;

procedure Dispatch(var message);virtual;
procedure DispatchStr(var message);virtual;

function GetInterface(const iid : tguid; out obj) : boolean;
function GetInterface(const iidstr : shortstring;out obj) : boolean;
function GetInterfaceByStr(const iidstr : shortstring; out obj) : boolean;
function GetInterfaceWeak(const iid : tguid; out obj) : boolean;

class function GetInterfaceEntry(const iid : tguid) : pinterfaceentry;
class function GetInterfaceEntryByStr(const iidstr : shortstring) : pinterfaceentry;
class function GetInterfaceTable : pinterfacetable;

class function UnitName : ansistring;
function Equals(Obj: TObject) : boolean; virtual;
function GetHashCode: PtrInt; virtual;
function ToString: ansistring; virtual;

From the Free Pascal wiki, page "TObject/fi", as it stood on 2019-11-15 after a change by Djzepi, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.