TCustomVariantType class
Base class for a custom variant type.
Declaration
TCustomVariantType = class(TObject)Inheritance
- TCustomVariantType
- TObject
Descends from it: TInvokeableVariantType
Description
TCustomVariantType is used as a base class to implement custom variants.
To define a custom variant type, a descendent of
TCustomVariant must be made,
and the appropriate methods must be overridden and implemented according to the specifications
of the new type. Typically this means defining how your new type maps to another variant or a
basic type.
Note that the TCustomVariantType descendent does not hold the data of the variant:
it just describes how a variant record (TVarRec)
that contains the new type's data can be examined or manipulated.
See also
Properties
VarType | public | Registered type. |
Methods
QueryInterface | protected | |
_AddRef | protected | |
_Release | protected | |
SimplisticClear | protected | |
SimplisticCopy | protected | |
RaiseInvalidOp | protected | |
RaiseCastError | protected | |
RaiseDispError | protected | |
LeftPromotion | protected | |
RightPromotion | protected | |
OlePromotion | protected | |
DispInvoke | protected | |
VarDataInit | protected | |
VarDataClear | protected | |
VarDataCopy | protected | |
VarDataCopyNoInd | protected | |
VarDataCast | protected | |
VarDataCastTo | protected | |
VarDataCastToOleStr | protected | |
VarDataFromStr | protected | |
VarDataFromOleStr | protected | |
VarDataToStr | protected | |
VarDataIsEmptyParam | protected | |
VarDataIsByRef | protected | |
VarDataIsArray | protected | |
VarDataIsOrdinal | protected | |
VarDataIsFloat | protected | |
VarDataIsNumeric | protected | |
VarDataIsStr | protected | |
Create | public | Instantiate a new custom variant type. |
Destroy | public | Unregister variant type. |
IsClear | public | Is the custom value unassigned ? |
Cast | public | Cast a custom variant to another type. |
CastTo | public | Cast a custom variant to another type. |
CastToOle | public | Cast variant value to OLE value. |
Clear | public | Clear a value. |
Copy | public | Copy a custom variant value. |
BinaryOp | public | Perform a binary mathematical operation. |
UnaryOp | public | Perform a unary mathematical operation. |
CompareOp | public | Check result of a comparison between 2 custom variant values. |
Compare | public | Comparison 2 custom variant values. |
Inherited
From TObject (40)
AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
