Developer’s Guide
Table Of Contents
- Contents
- Chapter 1 Introducing FileMaker Developer 5
- Chapter 2 Customizing your database solution
- About the custom solution examples
- Using the FileMaker Developer Tool
- Binding your databases into a runtime database solution
- Displaying databases in Kiosk mode
- Renaming your databases
- Removing design access to your databases
- Customizing the About, Help, and Scriptsmenus
- Adding the FileMakerPro extension to database filenames
- Saving your settings in the Developer Tool
- Chapter 3 Preparing files for a custom solution
- About the Relational Example
- General steps for preparing your solutionfiles
- Issues to consider before creating a runtime database solution
- Opening files in Kiosk mode
- Design tips for navigating in Kiosk mode
- Creating startup scripts
- Using button image samples
- Documenting your database solution
- Design tips for cross-platform solutions
- Creating a consistent appearance
- Simulating outline and shadow text styles
- Using common character sets
- Designing text layouts for cross-platform solutions
- Using a common color palette
- Using graphics in cross-platform solutions
- Using QuickTime movies in cross-platform solutions
- Showing the status bar in Windows
- Using separate scripts for printing
- Using the Status (CurrentPlatform) function
- Creating platform-specific scripts
- Protecting your runtime database solutionfiles
- Testing before and after creating yoursolution
- Converting and upgrading solution files
- Chapter 4 Distributing FileMakerPro runtime database solutions
- Chapter 5 Creating custom layout themes
- Chapter 6 Publishing your database on the Web
- Moving forward using open web standards
- Using the FileMakerPro Web Companion
- Displaying a custom home page
- Using a custom home page with Instant Web Publishing
- Monitoring your site
- Exporting data to a static HTML page
- Testing your site without a networkconnection
- Opening password-protected databasesremotely
- Using the Web Security Database
- Chapter 7 Using FileMakerPro XML to deliver your data
- About the XML examples
- General process for custom web publishing using XML
- Generating an XML document
- Using the FMPDSORESULT grammar
- Using the FileMakerPro Extended XMLgrammars
- About UTF-8 encoded data
- Generating FileMakerPro CGI requests for an XML document
- Using style sheets with your XMLdocument
- Comparing CSS, XSLT, and JavaScript
- Looking at the XML Inventory example
- Chapter 8 Using Java and JDBC to deliver your data
- About the JDBC examples
- About JDBC
- Using the FileMaker JDBC Driver
- SQL supported by the FileMaker JDBCDriver
- FileMakerPro support for Unicodecharacters
- About the FileMaker JDBC Driver interfaces and extensions
- Example 1: Looking at the FileMakerPro Explorer application
- Example 2: Creating the JBuilder Inventoryapplication
- Example 3: Creating the Visual Cafe Inventory application
- Using the FileMaker Java classes
- Chapter 9 Custom web publishing using CDML
- About the CDML examples
- General steps for custom web publishing using CDML
- About CDML format files
- Generating FileMakerPro CGI requests using CDML
- Using the CDML Tool and templates
- New and modified CDML tags
- About the CDML Reference database
- Creating error messages
- Using an encoding parameter with a CDML replacement tag
- Planning your web site
- Chapter 10 Writing external function plug-ins
- About the plug-in examples and templates
- Installing, enabling, and configuring FileMakerPro plug-ins
- Using external functions in a calculation
- Requirements for writing an external function plug-in
- FileMakerPro messages sent to theplugin
- Debugging your plug-in
- Avoiding potential MacOS resourceconflicts
- Providing documentation for your plug-in
- Naming and registering your plug-ins
- Appendix A Feature comparison of the runtime application and FileMakerPro
- Appendix B Valid names used in CGI requests for FileMaker XML data
- Generating a –find, –findall, or –findany request
- Generating a –view request
- Generating a –new request
- Generating an –edit request
- Generating a –delete request
- Generating a –dbnames request
- Generating a –layoutnames request
- Generating a –scriptnames request
- Generating a –dbopen request
- Generating a –dbclose request
- Specifying parameters for the request
- db (Database)
- lay (Layout)
- format (Format)
- recid (Record ID)
- modid (Modification ID)
- lop (Logical operator)
- op (Comparison operator)
- max (Maximum records)
- skip (Skip records)
- sortfield (Sort field)
- sortorder (Sort order)
- script (Script)
- script.prefind (Script before Find)
- script.presort (Script before Sort)
- styletype (Style type)
- stylehref (Style href)
- password (Database password)
- field name (Name of specific field)
- Appendix C FileMaker Pro values for error codes
- Index
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)