Developer’s Guide

Table Of Contents
Understanding external function plug-ins 10-13
Debugging your plug-in
Your plug-in code could include a preprocessor instruction to cause
your plug-in to behave differently during the debugging process. For
example, the FMExample plug-in will behave in the following ways
when the DEBUG_VERSION flag is set to “1”:
1 The DebugPlugin routine will be substituted for the PluginVersion
function.
1 When a message for Xpl-Version is received, the routine returns a
debug string instead of the version or platform string.
1 DebugPlugin will return different debug strings depending on the
value of the parameter that is passed in.
Avoiding potential Mac OS
resource conflicts
Problems can occur on Mac OS machines if your plug-in has the
same ID for a resource that FileMaker Pro or another plug-in has for
the same type of resource. To avoid potential resource ID conflicts
with your plug-in and other applications or plug-ins, follow these
guidelines:
1 Use ID numbers between 23,000 and 24,999
Use hard-coded IDs from this range for your dialog boxes, sounds,
icons, and other resources to avoid conflicts with FileMaker Pro
resources. FileMaker Pro does not use any of the IDs in this range for
the application resources.
1 Set the current resource file to your plug-in
To avoid conflicts with other plug-ins that use the same resource IDs,
use the Mac OS toolbox call in the Resource Manager to set the
current resource file to your plug-in before getting any resource
objects from the resource file.
Include the following line before any line that references or uses a
resource:
UseResFile (pb -> resourceID) ;
When FileMaker Pro loads your plug-in, the application gives the
resource ID. This is located in the parameter block near the param2
and param3 variables in the FMExtern.h file (see “Required code
files” on page 10-7).
Providing documentation for your plug-in
Your FileMaker Pro plug-in should include an example database file
with any special fields and scripts necessary to demonstrate the use
of the plug-in’s external functions. In addition, you should provide
documentation that describes each external function and its
parameters.
For ideas on how to document your plug-in, see other external
function plug-ins registered with FileMaker Pro (at
www.filemaker.com).
Registering your plug-ins
Register your external function plug-in with FileMaker, Inc. to
ensure that it’s unique and not in use by any other plug-in.
Registering also allows you to make your plug-in visible to
customers searching for a FileMaker Pro plug-in that might suit their
needs.
Before registering your plug-in, you can search to see if the plug-in
name or feature string ID you are requesting has already been
assigned.
Steps for registering your external function plug-in
1. In your web browser, go to www.filemaker.com, click the Support
tab, and click the Plug-ins link to display the Plug-ins search page.
2. Click the Registering a Plug-in link to display the online registration
form.