Difference between revisions of "FMWrapper Framework"

From FM Plugin Wikipedia
Jump to: navigation, search
Line 3: Line 3:
 
   |}
 
   |}
  
These pages are about the FM Wrapper Framework which is supplied by FileMaker and must be included in order to compile plugins for FileMaker
+
The FMWrapper Framework is the C/C++ API supplied by FileMaker, Inc. to which you create and compile FileMaker plug-ins against.  It is included with FileMaker Pro Advanced and cannot be redistributed in any form.  The framework you compile plug-ins against is a stub framework consisting of 10 header files that make up the API.
  
  
It should be noted, that the FMWrapper.framework itself cannot be published on the internet for others to download or view as you will be in breach of the FMI license agreement.
+
=FMWrapper Framework History=
 +
The FMWrapper Framework is only on its second major version, which came out with FileMaker Pro 8, and has only seen a few minor modifications since then.
  
 +
Changes between FileMaker Pro 7 and 8:
 +
* GetFNAMData, AddFNAMData, GetSIZEData, and AddSIZEData functions were added to the BinaryData class. Ref: [[Binary_Tips]]
 +
* ExecuteSQL function was added to the ExprEnv class. Ref: [[Calc_Tips]]
 +
* GetFontID and GetFontInfo functions were added to the Data class. Ref: [[Data_Tips]]
 +
* The kCurrentExtnVersion (the API Version) was updated to 51, and k80ExtnVersion was added.  Ref:
 +
* The values for kFMXT_Developer and kFMXT_Pro were corrected (they were swapped in the 7 (50) API.  Ref:
 +
* A FontScript member variable and associated enumerations were added to the CharacterStyle class. Ref: [[Text_Style_Tips]]
  
 +
Changes between FileMaker Pro 8 and 8.5:
 +
* The FMX_ExternCallStruct was modified slightly by moving the FMX_PACK define outside of the structure (seemingly for code cleanup purposes). Ref:
 +
* Chinese was added to the Locale::Type enumeration. Ref: [[Types_Tips]]
  
=FmWrapper Framework Header Files=
+
Changes between FileMaker Pro 8.5 and 9:
* BinaryData : functions for handling files, images, sounds, etc passed to your pluginref: [[Binary_Tips]]
+
* Additional Types were added to the Locale::Type enumeration. Ref: [[Types_Tips]]
* CalcEngine : functions for handling data between FileMaker and your Plugin. ref: [[Calc_Tips]]
+
 
* Client : exception handling structures. No function definitions
+
Changes between FileMaker 9 and 10:
* Data : functions for converting data for returning back to FileMaker. ref: [[Data_Tips]]
+
* Additional Types were added to the Locale::Type enumeration. Ref: [[Types_Tips]]
* Date & Time : functions for handling dates, times & timestamps. ref:  [[Date_and_Time_Tips]]
+
 
* Extern : global definitions for managing data from FileMaker
+
 
* FixPt : functions for handling numbersref: [[FixPt_Tips]]
+
=FMWrapper Framework Header Files=
* Text : functions for handling textref: [[Text_Tips]]
+
* BinaryData : Contains the BinaryData class for working with Stored Container Field values (files, images, sounds, etc.) from FileMaker ProRef: [[Binary_Tips]]
* TextStyle : functions for modifying text formatting.   ref: [[Text_Style_Tips]]
+
* CalcEngine : Contains the DataVect class and the ExprEnv class.  The DataVect class is a vector used to pass the parameters (instances of the Data class) from your External Calculation Functions to your Plug-in's Callback functions. The ExprEnv class contains functions for registering your External Calculation Functions as well as functions for Evaluating FileMaker Calculations from your plug-in and using the Plug-in SQL Interface for querying FileMaker tables. Ref: [[Calc_Tips]]
* Types :   ref: [[Types_Tips]]
+
* Client : Contains an exception handling structure that is used by the Framework glue code. This file does not contain anything useful for the FileMaker Pro Plug-in developer.
 +
* Data : Contains the Data class which encapsulates all the various data types passed to and from your plug-in. Ref: [[Data_Tips]]
 +
* Date & Time : Contains the DateTime class for working with Date, Time, and Timestamp values from FileMaker Pro. Ref:  [[Date_and_Time_Tips]]
 +
* Extern : Contains the main/initial Callback Structure which is passed into your plug-in's entry point function. Ref:
 +
* FixPt : Contains the FixPt class for working with Number values from FileMaker ProRef: [[FixPt_Tips]]
 +
* Text : Contains the Text class for working with Text values from FileMaker ProRef: [[Text_Tips]]
 +
* TextStyle : Contains the CharacterStyle class and Color sub class for working with Styled Text values from FileMaker Pro. Ref: [[Text_Style_Tips]]
 +
* Types : Contains the QuadChar class and Locale class. The QuadChar class encapsulates the 4 byte Ids used to identify your plug-in functions and Binary Data stream types.  The Local class is used to indicate the locale of Textual data.  Ref: [[Types_Tips]]

Revision as of 23:51, 24 January 2009

The FMWrapper Framework is the C/C++ API supplied by FileMaker, Inc. to which you create and compile FileMaker plug-ins against. It is included with FileMaker Pro Advanced and cannot be redistributed in any form. The framework you compile plug-ins against is a stub framework consisting of 10 header files that make up the API.


FMWrapper Framework History

The FMWrapper Framework is only on its second major version, which came out with FileMaker Pro 8, and has only seen a few minor modifications since then.

Changes between FileMaker Pro 7 and 8:

  • GetFNAMData, AddFNAMData, GetSIZEData, and AddSIZEData functions were added to the BinaryData class. Ref: Binary_Tips
  • ExecuteSQL function was added to the ExprEnv class. Ref: Calc_Tips
  • GetFontID and GetFontInfo functions were added to the Data class. Ref: Data_Tips
  • The kCurrentExtnVersion (the API Version) was updated to 51, and k80ExtnVersion was added. Ref:
  • The values for kFMXT_Developer and kFMXT_Pro were corrected (they were swapped in the 7 (50) API. Ref:
  • A FontScript member variable and associated enumerations were added to the CharacterStyle class. Ref: Text_Style_Tips

Changes between FileMaker Pro 8 and 8.5:

  • The FMX_ExternCallStruct was modified slightly by moving the FMX_PACK define outside of the structure (seemingly for code cleanup purposes). Ref:
  • Chinese was added to the Locale::Type enumeration. Ref: Types_Tips

Changes between FileMaker Pro 8.5 and 9:

  • Additional Types were added to the Locale::Type enumeration. Ref: Types_Tips

Changes between FileMaker 9 and 10:

  • Additional Types were added to the Locale::Type enumeration. Ref: Types_Tips


FMWrapper Framework Header Files

  • BinaryData : Contains the BinaryData class for working with Stored Container Field values (files, images, sounds, etc.) from FileMaker Pro. Ref: Binary_Tips
  • CalcEngine : Contains the DataVect class and the ExprEnv class. The DataVect class is a vector used to pass the parameters (instances of the Data class) from your External Calculation Functions to your Plug-in's Callback functions. The ExprEnv class contains functions for registering your External Calculation Functions as well as functions for Evaluating FileMaker Calculations from your plug-in and using the Plug-in SQL Interface for querying FileMaker tables. Ref: Calc_Tips
  • Client : Contains an exception handling structure that is used by the Framework glue code. This file does not contain anything useful for the FileMaker Pro Plug-in developer.
  • Data : Contains the Data class which encapsulates all the various data types passed to and from your plug-in. Ref: Data_Tips
  • Date & Time : Contains the DateTime class for working with Date, Time, and Timestamp values from FileMaker Pro. Ref: Date_and_Time_Tips
  • Extern : Contains the main/initial Callback Structure which is passed into your plug-in's entry point function. Ref:
  • FixPt : Contains the FixPt class for working with Number values from FileMaker Pro. Ref: FixPt_Tips
  • Text : Contains the Text class for working with Text values from FileMaker Pro. Ref: Text_Tips
  • TextStyle : Contains the CharacterStyle class and Color sub class for working with Styled Text values from FileMaker Pro. Ref: Text_Style_Tips
  • Types : Contains the QuadChar class and Locale class. The QuadChar class encapsulates the 4 byte Ids used to identify your plug-in functions and Binary Data stream types. The Local class is used to indicate the locale of Textual data. Ref: Types_Tips