[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`
`public`
`vInstanceSize: SizeInt;` |  | Class instance size
`vInstanceSize2: SizeInt;` |  | Duplicate of class instance size (should equal -vInstanceSize)
`vParentRef: PPVmt;` |  | Parent reference
`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
`property vParent: PVmt; [r]` |  | Pointer to parent VMT
``
`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: May 14 2021