| [Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | 
Virtual method table layout
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 | 
| 
 | Pointer to parent VMT | |
| 
 | ||
| end; | 
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.
| 
 | Pointer to TVMT record |