Calc Tips
From FM Plugin Wikipedia
The DataVect and ExprEnv classes are how your plug-in interacts with the calculation engine.
DataVect Public Functions
The DataVect class is a simple vector of Data objects. FileMaker passes a DataVect to your plugin call that holds the arguments supplied to the external function.
- ulong Size () const
- void Clear ()
- bool IsEmpty () const
- void PushBack ( const Data &data )
- Data *PopBack ()
- const Data &At ( ulong position ) const
- const Text &AtAsText ( ulong position ) const
- const FixPt &AtAsNumber ( ulong position ) const
- const DateTime &AtAsDate ( ulong position ) const
- const DateTime &AtAsTime ( ulong position ) const
- const DateTime &AtAsTimeStamp ( ulong position ) const
- bool AtAsBoolean ( ulong position ) const
- const BinaryData &AtAsBinaryData ( ulong position ) const
- void operator delete ( void *obj )
ExprEnv Public Functions
The ExprEnv class allows your plugin to interact with the calculation engine, it can evaluate FileMaker expressions and SQL, and there are methods to dynamically register / unregister external functions.
- errcode Evaluate ( const Text &expression, Data &result ) const
- errcode ExecuteSQL ( const Text &expression, Data &result, ushort colSep, ushort rowSep ) const
- errcode RegisterExternalFunction ( const QuadChar &pluginId, short functionId, const Text &functionName, const Text &functionPrototype, short minArgs, short maxArgs, ulong typeFlags, ExtPluginType funcPtr )
- errcode UnRegisterExternalFunction ( const QuadChar &pluginId, short functionId )
- operator delete ( void *obj )