Developer’s Guide

Table Of Contents
10-8
Developer’s Guide
FMExternCallStruct defines the structure of the parameter block.
FMExternCallPtr is a pointer to that structure and gFMExternCallPtr
is a global variable that is defined as an FMExternCallPtr pointer.
Within the FMExternCallStruct definition are three variables of type
long: param2, param3 and result. The param2 variable contains the ID
(0, 1, 2, etc.) for the external function referenced from the Specify
Calculation dialog box in FileMaker Pro.
The param3 variable contains the value of the expression that
replaces the external function’s “parameter” passed to the plug-in
from the calculation formula in FileMaker Pro. Since external
functions can only return text/string data, the data in the param3
variable and the data you put into the result variable must be text or
a textual representation of a number.
Required string resources
There are four specific string resources that must exist before a plug-
in can be loaded by FileMaker Pro. For Windows, they start at string
ID 128 in the resource file. For Mac OS, they’re in a STR# resource
with ID 128 in the resource file. (See the FMTemplate.rc or
FMTemplate.r files in the Template folder.)
These four string resources are required for a FileMaker Pro plug-in:
1 The first string (starting at ID 128) is the plug-in’s name as it
appears in the FileMaker Pro Application Preferences dialog box
(see “Installing, enabling, and configuring FileMaker Pro plug-ins”
on page 10-4).
1 The second string is the descriptive text displayed in the
Application Preferences dialog box when the plug-in is selected.
1 The third string must be empty.
1 The fourth string, referred to as the feature string, contains the
plug-in’s unique ID and feature flags.
Required feature string syntax
The feature string (the fourth required resource string) must be 11
characters long for FileMaker Pro plug-ins.
The first four characters of the feature string are the ID of the
FileMaker Pro plug-in. The ID must be unique for each plug-in and
must not begin with “
F,” “FM,” or “Web.” For the Mac OS, it is
recommended that you set the creator type of the plug-in to this same
value. The ID can only contain low-ASCII alphanumeric characters
(such as
0-9, A-Z, and a-z).
Note So that there will be a good chance of having a unique ID, you
should register the ID at the Apple Developer Support web site—
even if you won’t be creating a Mac OS version of your plug-in. To
register creator codes for applications, go to the developer support
pages on the Apple Computer web site at www.apple.com.
Required string resources in the FMTemplate.rc file
(for Windows plug-ins)
Required string resources in the FMTemplate.r file
(for Mac OS plug-ins)