Developer’s Guide

Table Of Contents
10-10 Developer’s Guide
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.”
There should be no need for any custom DLLMain routine because
the instance Handle of the DLL will be passed each time the DLL is
called.
Main entry point for Mac OS environments
The Mac OS platform plug-in can contain any combination of
PowerPC and 680x0 based code. If the plug-in requires a PowerPC
processor to run, you must still write a small 680x0 code resource.
This code resource should cause the plug-in to refuse to load during
initialization after displaying an appropriate message.
680x0 computers The 680x0 code exists as a resource of type FMXT
with an ID of 1024 and the entry point is at the first byte of that
resource. Because FileMaker Pro 4.0 runs on 680x0 machines, make
sure that at least the entry point and the initialization handler are not
compiled for 68020 or later computers if your plug-in is for
FileMaker Pro 4.0.
PowerPC computers The PowerPC code exists as a shared library in
the data fork of the plug-in with a single exported named entry point.
The name of the entry point is
FMExternCallProc and the file system’s
file type for the plug-in must be
FMXT. (In Code Warrior Pro, set all
the fields of the PPC PEF preferences panel to 1024. The PEF's
fragment name is ignored.)
External function naming conventions
The function name prefix for all of the plug-in’s external functions
must be a unique value containing 4 or 5 characters and must not
begin with the characters “
FM” or “Web.” Three-character prefixes
are reserved by FileMaker, Inc.—for example, the FMExample
plug-in’s function name prefix is “Xpl.”
FileMaker, Inc. will manage the naming conventions for plug-in
name, filename, and function prefix. For this reason, you need to
register your plug-in.
In addition, FileMaker, Inc. has reserved certain naming conventions
for external functions—for example, the FileMaker Pro Web
Companion uses the naming convention
Web-XXXX, where XXXX is
the name of the specific Web Companion external function.
See “Registering your plug-ins” on page 10-13 for more
information.
FileMaker Pro messages sent to
the plug-in
There are five possible calls that FileMaker Pro can request of your
plug-in. Messages sent by FileMaker Pro to your plug-in are
supplied in the
whichCall field of the parameter block,
FMExternCallStruct, defined in the FMExtern.h file.
1 kFMXT_Init — the Initialization message
1 kFMXT_Shutdown — the Shutdown message
1 kFMXT_Idle — the Idle message
1 kFMXT_DoAppPreferences — the Preferences message
1 kFMXT_External — the External message