Development Guide
Table Of Contents
- Chapter 1 Getting started
- Chapter 2 Customizing database solutions
- Chapter 3 Customizing menus
- Chapter 4 Creating custom layout themes
- Chapter 5 Developing third-party FileMaker plug-ins
- About external functions
- About the example plug-in
- Installing, enabling, and configuring the example plug-in
- Description of the FMExample plug-in’s external functions
- Using the example plug-in
- Customizing the plug-in example
- Requirements for writing external function plug-ins
- FileMaker messages sent to the plug-in
- Avoiding potential Mac OS X resource conflicts
- Providing documentation for your plug-in
- Registering your plug-in
- Chapter 6 Debugging, analyzing, and optimizing files
- Chapter 7 Using the Developer Utilities
- Overview of preparing your solution files
- Modifying database solution files
- Considerations for a runtime database solution
- Binding databases into runtime database solutions
- Saving and reusing Developer Utilities settings
- Converting and upgrading solution files
- Removing full access privileges from databases
- Chapter 8 Distributing runtime database solutions
- Appendix A Feature comparison of the runtime application with FileMaker Pro
- Index
Chapter 5
Developing third-party FileMaker plug-ins
If you are a C or C++ programmer and familiar with advanced
calculations in FileMaker
Pro and FileMaker Pro Advanced, you can
create external function plug-ins that extend the feature set of the
applications. The plug-ins can take advantage of recursion and
looping or hook into other programming interfaces. Users can enable
your plug-ins in FileMaker
Pro, FileMaker Pro Advanced, FileMaker
Server, and FileMaker Server Advanced and use your external
functions in their calculation fields and scripts.
Plug-ins must be registered with FileMaker. The FileMaker web site
(www.filemaker.com) includes a plug-in registration form and a
database of all the registered plug-ins. You can browse this database
to get an idea of what kind of plug-ins already exist and use it to list
your own plug-ins. For more information, see
“Registering your plug-
in” on page 53.
You can use FileMaker Server and FileMaker Server Advanced to
ensure that FileMaker Pro clients always have the most current plug-
in software installed on their computers. See FileMaker Server
Guide
to Updating Plug-Ins
, available on www.filemaker.com/downloads.
About external functions
The FileMaker Pro Advanced CD includes an example plug-in project
that you can modify to include your own external functions. Users can
access your plug-ins through the Specify Calculation dialog box.
Follow these general steps to prepare your custom plug-ins:
1. Edit the example plug-in files to add your custom programming
code.
2. Compile and test the customized plug-in.
3. Register your plug-in with FileMaker.
4. Install the compiled plug-in file for your users.
To access your external functions, your users:
1. Enable your plug-in through the Preferences dialog box.
2. Configure your plug-in, if required.
3. Define or edit a calculation field.
4. In the Specify Calculation dialog box, choose
Function_Name(parameter 1 ...) as the calculation formula.
To see all external functions, select External functions from the View
drop-down list.
About the example plug-in
The example plug-in project is designed to illustrate what a complete
plug-in looks like. You can compile the example project files to create
a plug-in with several external functions that users can access through
the Specify Calculation dialog box. You can examine and modify the
source code of the example files in any text editor.
The plug-in example includes seven external functions. See
“Description of the FMExample plug-in’s external functions” on
page 46.
The plug-in example files include all the source code required to
compile the plug-in for the Windows and Mac
OS X platforms. In
addition to the plug-in source code, FileMaker Pro Advanced includes
project files for Metrowerks CodeWarrior Development Studio,
Microsoft Visual Studio .NET 2003 (also called Microsoft Visual
C++), and Apple Xcode.