Developer’s Guide

Table Of Contents
Writing external function plug-ins
10-9
The fifth character of the feature string is always “1,” the eighth is
always “
Y,” and the tenth is always “n.” Other values for these flags
are reserved for FileMaker, Inc. use only.
Here’s a description of each character in the feature string:
For example, “
Moc31nYYnnY” is a feature string for a plug-in with
the ID of “
Moc3” (characters 1-4) that exports an external function
(character 7 = “
Y”), does not need any special configuration or idle
time (characters 6 and 9 both = “
n”), and uses only the Win32s API
(character 11 = “
Y”).
Requirements for the plug-in’s main entry point
The FMTemplate.c and FMExample.c files are examples of what the
main file should look like for a FileMaker Pro plug-in. They define
the main entry point function for the various environments
(Windows and Mac OS) that a plug-in can be compiled for.
The main entry point contains a switch statement that allows the
plug-in to determine the condition under which control is passed to
it, so that it may act appropriately.
switch (pb->whichCall) {
The variable “pb” is a local variable that was assigned to be equal to
gFMExternCallPtr. (See the description of the FMExtern.h file in
“Required code files” on page 10-7).
Main entry point for Windows environments
The Windows platform plug-in exists as a 32-bit DLL with one
exported, named entry point. The filename extension for the DLL
must be “
.FMX” and the name of the entry point must be
FMExternCallProc.”
Characters in
the feature
string Description of characters
1-4 Characters 1-4 are the plug-in ID. (Register the ID on the
Apple Developer Support web site at www.apple.com.)
5 Character 5 is always “1.”
6 Set the sixth character of the feature string to “Y” if you
want to enable the Configure button for plug-ins in the
Application Preferences dialog box. Use “n” if there is no
plug-in configuration needed. If the flag is set to “Y,” then
make sure to handle the kFMXT_DoAppPreferences
message. (See “FileMaker Pro messages sent to
the plug-in” on page 10-10.)
7 Set the seventh character of the feature string to “Y” when
the plug-in has external functions you want to appear in the
Specify Calculations dialog box. It is expected that this is
going to be “Y” most of the time.
The names of the external functions must start at string ID
144 (Windows) or be in a “STR#” resource with ID 144
(Mac OS).
The first external function name is assigned the ID of zero
and is increased by one for each string found after that. (On
Windows, FileMaker Pro stops scanning for names when it
encounters the first empty string after string ID 144.)
8 Character 8 is always “Y.
9 Set the ninth character of the feature string to “Y” if the
kFMXT_Idle message is required. For simple external
functions this may not be needed and can be turned off by
setting the character to “n.”
10 Character 10 is always “n.”
11 Set the eleventh character to “n” if the plug-in cannot limit
its Windows calls to the Win32s subset. (This might be the
case for FileMaker Pro 4.0 plug-ins.) Otherwise, it should
be set to “Y.” Even though the state of the Win32s flag is
ignored in the Mac OS, it still must exist.
Characters in
the feature
string Description of characters