[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'System' (#rtl)

TVmt

Virtual method table layout

Declaration

Source position: objpash.inc line 101

type TVmt = record

  vInstanceSize: SizeInt;

  

Class instance size

  vInstanceSize2: SizeInt;

  

Duplicate of class instance size (should equal -vInstanceSize)

  vParent: PVmt;

  

Pointer to parent VMT

  vClassName: PShortString;

  

Pointer to shortstring with classname

  vDynamicTable: Pointer;

  

Pointer to table with dynamic methods.

  vMethodTable: Pointer;

  

Pointer to table with virtual methods.

  vFieldTable: Pointer;

  

Pointer to table with field information

  vTypeInfo: Pointer;

  

Pointer to class type info record.

  vInitTable: Pointer;

  

Pointer to initialization information

  vAutoTable: Pointer;

  

Pointer to Automation interfaces table

  vIntfTable: pinterfacetable;

  

Pointer to interfaces table

  vMsgStrPtr: pstringmessagetable;

  

Pointer to string message dispatch table

  vDestroy: CodePointer;

  

Pointer to destructor

  vNewInstance: CodePointer;

  

Pointer to NewInstance method

  vFreeInstance: CodePointer;

  

Pointer to FreeInstance method

  vSafeCallException: CodePointer;

  

?

  vDefaultHandler: CodePointer;

  

Pointer to default message handler

  vAfterConstruction: CodePointer;

  

Pointer to afterconstruction method.

  vBeforeDestruction: CodePointer;

  

Pointer to beforeconstruction method.

  vDefaultHandlerStr: CodePointer;

  

Pointer to default string message handler

  vDispatch: CodePointer;

  

Dispatch method pointer

  vDispatchStr: CodePointer;

  

DispatchStr method pointer

  vEquals: CodePointer;

  

Equals method pointer

  vGetHashCode: CodePointer;

  

GetHashCode method pointer

  vToString: CodePointer;

  

ToString method pointer

end;

Description

TVMT is a record describing the VMT of a class. It's various fields represent the available information in the VMT, as far as it is common to all classes.

See also

PVmt

  

Pointer to TVMT record


Documentation generated on: Nov 14 2015