Developer’s Guide

Table Of Contents
Understanding 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 includes 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 FMMain.h and FMMain.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).
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.filemaker.com/developers/
index.html.)
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 in the list 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