TVmt
Virtual method table layout
Declaration
Source position: objpash.inc line 128
Type
TVmt = record
public
vInstanceSize : SizeInt;
vInstanceSize2 : SizeInt;
vParentRef : PPVmt;
vClassName : PShortString;
vDynamicTable : Pointer;
vMethodTable : Pointer;
vFieldTable : Pointer;
vTypeInfo : Pointer;
vInitTable : Pointer;
vAutoTable : Pointer;
vIntfTable : pinterfacetable;
vMsgStrPtr : pstringmessagetable;
vDestroy : CodePointer;
vNewInstance : CodePointer;
vFreeInstance : CodePointer;
vSafeCallException : CodePointer;
vDefaultHandler : CodePointer;
vAfterConstruction : CodePointer;
vBeforeDestruction : CodePointer;
vDefaultHandlerStr : CodePointer;
vDispatch : CodePointer;
vDispatchStr : CodePointer;
vEquals : CodePointer;
vGetHashCode : CodePointer;
vToString : CodePointer;
private
function GetvParent : PVmt;
public
property vParent : PVmt;
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
Name | Description |
---|---|
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
CodePointer | Code pointer (8/16 bit targets) |
PVmt | Pointer to TVMT record |
PVmt | Pointer to TVMT record |
SizeInt | Signed integer type which fits for sizes |
SizeInt | Signed integer type which fits for sizes |
tinterfacetable | Record to store list of interfaces of a class. |
TStringMessageTable | String message table container for class. |
TVmt | Virtual method table layout |