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