Our Blog, Filemaker only, Xojo only, Archive (older), Follow us on Twitter or Facebook.

Kit vs. Plugin for Bonjour

Tuesday 31 March 2015 at 2:02 pm
As you may know we offer both a MBS Xojo Network Plugin and a MBS Xojo Network Kit and both offer Bonjour classes. Now a client asked what to buy and the answer can be both. Just take a look on the platforms we support Bonjour:As you see, you can use the Kit for iOS and the plugin for desktop projects. If your desktop project only runs on Mac, you could use the Kit alone and enjoy same code for iOS and Mac development.

PS: If you still use DNSServiceDiscovery classes from MacOSX plugin, please migrate to newer DNSService classes.
The linux plugin uses the avahi library which is compatible to Apple's Bonjour.

MBS FileMaker Plugin, version 5.1pr3

Monday 30 March 2015 at 8:06 pm
New in this prerelease of the 5.1 plugins:
  • Marked a lot of functions to not be available on server due to FileMaker Server not performing Script calls on the server.
  • Added TimeOut option for Socket.Connect.
  • Tracing script calls now shows also name of current script, file, user and host if available.
  • Fixed ZipFile.WriteText function. Now text is again parameter 1 and not 2.
  • Added functions FM.CurrentThreadID, FM.IsMainThread and FM.MainThreadID.
  • Improved copy script text button. Should not copy the list of available script steps.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MBS Xojo / Real Studio Plugins, version 15.1pr3

Monday 30 March 2015 at 6:44 pm
New in this prerelease of the 15.1 plugins:
  • Added Picture.GrayScale2MBS function.
  • Improved Carbon Printer Manager function. Some methods were deprecated by Apple and are removed. Others have been added.
  • QCCompositonMBS object can now be put into dictionaries and variants for conversion to NSDictionary.
  • Fixed NSTokenFieldMBS class which broke in 15.0.
Download: macsw.de/plugin. Or ask us to be added to our shared Dropbox folder.

FileMaker meetings in Texas

Sunday 29 March 2015 at 9:05 pm
We'll have a meeting in Dallas (Texas) for Monday, 27th April 2015 with local FileMaker developers.

If you are using FileMaker and you are in the area, maybe you want to join us?
We'll chat about what's new in the FileMaker world, upcoming developer conference and of course our MBS Plugin.

The meeting will take place in a local restaurant, probably somewhere between Dallas and Fort Worth.
Participation is free, except the cost of your own food and beverage.
If you like to join, please email me, so we can reserve the right number of seats.

The 2015 Xojo Developer Conference, one month left

Sunday 29 March 2015 at 09:29 am
Just one month left until we all meet for Geoff's keynote. In the last Xojo Developer Magazine issue, there is my article with travel tips for sight seeing around Austin. With a couple of pictures from a few years ago when the last conference was in Austin. On the Xojo Blog is an article about some more tips.

The good news on the hotel is that plenty of rooms are still available. And now the reservation system seems to work fine. It's $169 per room. No suites are available for discounted rates, just the regular ones. Anyway, as we can cancel room up to 2 days before conference, you should make your reservation early and later modify or cancel it.

The 2015 Xojo Developer Conference will take place April 29 - May 1, 2015 at the Radisson hotel in fabulous downtown Austin!

XDC is the best place for Xojo users to learn from the experts, network with other Xojo users from around the world and meet the Xojo engineers. We will have sessions for everyone wanting to get the most out of their tool - from topics for those who are just getting their feet wet, to sessions for the most advanced Xojo developer.

FileMaker and Xojo Meetings for Munich and Nuremberg

Saturday 28 March 2015 at 11:43 am
As I have work to do in southern Germany in April, we travel to Munich and Nuremberg.

This allows us to invite for local developer meetings there.

16th April, Xojo meeting in Munich
17th April, FileMaker meeting in Munich
20th April, Xojo meeting in Nuremberg
21st April, FileMaker meeting in Nuremberg

We have already 18 people on the list for those meetings. Now we look for a restaurant.

If you like to join us for dinner, please add yourself. We'll reserve a table in a nearby restaurant, meet and chat about development. Entry is free, but you have to pay for your dinner and drinks.

PS: If we don't have your email address, please also send us an email with contact details.

FileMaker DevCon in 4 months

Thursday 26 March 2015 at 8:04 pm
The early bird offer ends in a few days, so be quick if you like to join the FileMaker Developer Conference in Las Vegas.

MBS will be present with a booth, so visit us there!

ChartDirector 6 progress

Thursday 26 March 2015 at 5:04 pm
ChartDirector makes good progress and we got a few sample projects to run and output PDF files:

We are happy about the progress and I'm already working on the updated plugin.
You can load the PDF files here: colorbar2.pdf linearhbar.pdf semicirclemeter.pdf multiline2.pdf

XojoTalk podcast

Wednesday 25 March 2015 at 10:35 pm
The XojoTalk podcast just got it's tenth episode. So go and listen to it!
  1. Shoving Phones In Their Pockets with Geoff Perlman
  2. That's A Lot Of Tens with Bob Keeney
  3. Developer of Long Standing with Eric Gibbon
  4. Grizzled Veterans with Travis Hill
  5. Where's My Column? with Marc Zeedar
  6. I have no idea what you're talking about with Kem Tekinay
  7. Snowgun with Kevin Cully
  8. Really Wicked with Hal Gumbert
  9. It's my dog with Norman Palardy
  10. Strap a Mac Pro to my wrist with Tim Dietrich
Subscribe at iTunes or to RSS Feed

Warning of the day: Xcode vs. Xojo versions

Wednesday 25 March 2015 at 8:25 pm
Please keep a copy of Xcode 6.1 before you upgrade to 6.2 via app store updates. Or download a copy of the older version from Apple's developer website.

It's really annoying to get Xcode 6.2 installed by App Store and discover that Xcode 6.1 is required for Xojo 2015r1 to build iOS apps.
If you install Xcode 6.1 in Applications folder you can switch with xcode-select command just like this:

sudo xcode-select -switch /Applications/Xcode\ 6.1.app

Just curious here after switching back to 6.2, the Xojo 2015r1 IDE still finds the simulator!
Earlier today it complained about missing iPhone SDK.

MBS SQLite Extension in version 1.4

Tuesday 24 March 2015 at 12:42 pm
NICKENICH, Germany (March 24th, 2015) -- Monkeybread Software releases version 1.4 of the MBS SQLite Extension.

The MBS SQLite Extension is a multifunctional extension to any SQLite powered application. You can use it as:
  • a plug-in for Cube SQL 4.0 from SQLabs or newer.
  • a plug-in for Studio Stable Database Server 2.0 or newer.
  • an extension to SQLiteDatabase class in Xojo
  • an extension to REALSQLDatabase class in Real Studio
  • a plug-in for the REAL Server from REALsoftware
  • an extension for SQLite which you can use in all SQLite based database applications like SQLiteManager application (from SQLabs).
New in Version 1.4:
Our SQLite Extension gives you over 50 new functions for SQLite:
  • Additional mathematical functions like Round or Pow.
  • Functions to save blob values in files outside the database.
  • Functions to calculate checksums on blob values on the server.
  • String functions like SoundEx or accents removing for your text searches.
  • Regular Expressions in queries.
  • UUID generation
Our SQLite Extension supports Mac OS X, Windows and Linux.
Example projects for Xojo and Real Studio are included for SQLiteDatabase, REALSQLDatabase, REALSQLServerDatabase and CubeSQLDatabase classes.

You can test the extension for free up to 10 minutes per launch in a demo mode. Licenses are available for 99 Euro per developer with one year of free updates. If you have feature requests for additional functions, please send us an email.

MBS Xojo / Real Studio Plugins, version 15.1pr2

Monday 23 March 2015 at 10:11 pm
New in this prerelease of the 15.1 plugins:
  • Added QCCompositionMBS and QCCompositionRepositoryMBS classes.
  • Updated ColorSyncBitmapMBS to work with Xojo Pictures in Cocoa target.
  • Updated LCMS to 2.7.
  • Changed CloseAndSignPDFFile and CloseAndSignPDFFileWithDialog for DynaPDFMBS class to accept nil for OutputFile.
  • Fixed PictureMBS methods Clone and ClipImage to work better for clipped and console picture based instances.
  • Added QCViewControlMBS control.
  • Added QCViewMBS.loadCompositionFromData method and improved the properties.
  • Upgraded Xcode to version 6.2
  • Fixed bug in PictureMBS.CopyPixels where too many bytes were copied if sx was not zero.
  • Corrected mouse up event for OverlayWindowMBS class.
  • Added OrHigher parameter to the OS Version functions for Mac and Win so you can define if you want higher OS, too.
  • Added SystemInformationMBS.IsWindows81 and SystemInformationMBS.IsWindow10.
Download: macsw.de/plugin. Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 5.1pr2

Monday 23 March 2015 at 8:31 pm
New in this prerelease of the 5.1 plugins:
  • Added FM.CurrentScriptID, FM.ScriptNameForScriptID and FM.ScriptIDForScriptName functions.
  • Updated LCMS to 2.7.
  • Added ListDialog.AddSQL to add list items via SQL.
  • Added grouping to ListDialog.
  • Added DynaPDF.SysFontInfo and DynaPDF.FontInfo functions.
  • Added DynaPDF.SetFieldFont and DynaPDF.SetFieldFontEx functions to support asian characters in form fields.
  • Upgraded Xcode to version 6.2
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

ListDialog with group headers

Saturday 21 March 2015 at 1:06 pm
As you know we have list dialog functions. Now for next prerelease with headers for grouping.
on Mac:

on Windows:

The style is default style from OS.

Tip of the day: PDF print settings

Friday 20 March 2015 at 3:58 pm
If your application produces PDF via DynaPDFs, you can include print settings for the PDF Viewer application. For existing PDFs you can import them in DynaPDF and write a new PDF including your print settings.

Print settings can include details like duplex mode with possible settings for default, short edge, long edge or simplex printing. You can ask the PDF Viewer to pick the tray from a laser printer based on the PDF Paper size. You can specify number of copies in range 1 to 5 and ask for no scaling or app default scaling. Finally you can even suggest print ranges to only print some pages.

For FileMaker the MBS FileMaker Plugin 5.1 introduces new commands to handle print settings: DynaPDF.SetPrintSettings, DynaPDF.GetPrintSettings and DynaPDF.GetInPrintSettings.

For Xojo the DynaPDFMBS class has methods including SetPrintSettings, GetPrintSettings and GetInPrintSettings. Related constants like kdpmFlipLongEdge, kdpmFlipShortEdge, kdpmNone and kdpmSimplex help to define values like duplex mode.

Especially the possibility to post process existing PDFs should help. For saving records as PDF from FileMaker provides a PDF which you can customize using our plugin.

FileMaker and Xojo Meetings for Munich and Nuremberg

Wednesday 18 March 2015 at 10:15 am
As I have work to do in southern Germany in April, we travel to Munich and Nuremberg.

This allows us to invite for local developer meetings there.

Munich Xojo
Munich FileMaker
Nuremberg Xojo
Nuremberg FileMaker

Already 15 people put in their day preferences. In a few days, we can fix the dates.

If you like to join us for dinner, please add yourself. We'll reserve a table in a nearby restaurant, meet and chat about development. Entry is free, but you have to pay for your dinner and drinks.

PS: If we don't have your email address, please also send us an email with contact details.

Passing parameters via dictionary functions

Tuesday 17 March 2015 at 8:33 pm

In recent plugin version we got new dictionary functions. Those can be used to quickly lookup some value for a key value. As the plugin preserves the original data type (e.g. containers), you can really use it to store anything very well. For example if you reference in your app some ID with a name, you can load all those values in a dictionary. New functions in version 5.1 will allow to fill it with SQL command easily.


For now we want to show you how to use it for parameter passing to scripts. FileMaker allows you to pass one script parameter and our idea is to pass the dictionary reference number as parameter instead of values. So in calling script we call Dictionary.Create to create a new dictionary. Than we fill in a few parameters with the Dictionary.SetValueForKey function. Finally we can pass our variable to the target script with the reference number.


#Create new Dictionary

Set Variable [$param; Value:MBS( "Dictionary.Create" )]

#Fill in parameters

Set Variable [$r; Value:MBS( "Dictionary.SetValueForKey"; $param; "text"; Test Table::TextField )]

Set Variable [$r; Value:MBS( "Dictionary.SetValueForKey"; $param; "number"; Test Table::NumberField)]

#Call script and pass ID

Perform Script [“Other Script”; Parameter: $param]


For the called script we have code like below. We first query the script parameter into local variable. Than we query all the values and put them in variables in the new script. Finally we have to free the dictionary.


#get dictionary reference number


Set Variable [$param; Value: Get(ScriptParameter) ]

# get some values back in variables


Set Variable [$text; Value: MBS( "Dictionary.ValueForKey"; $param; "text" ) ]

Set Variable [$number; Value: MBS( "Dictionary.ValueForKey"; $param; "number" ) ]


# and free memory


Set Variable [$r; Value: MBS("Dictionary.Release"; $param)]


As you see this needs some more work in the scripts. But we can make it easier. The calling script can use the function Dictionary.SetVariables (new in 5.1). This function uses the keys and values in dictionary for the variables. So if there is a key named "Company", we create a variable called $Company and fill the value. So you automatically get the variable names. Also the Dictionary.Create function now takes key/value pairs, to easily fill a dictionary in a script. See the following script:


Set Variable [ $param; Value: MBS( "Dictionary.Create"; "text"; Test Table::TextField; "number"; Test Table::NumberField) ] 

Perform Script [ “Script Called Copie” ; Parameter : $param ]


We create a dictionary with passing in variables as name and value. Than we pass the dictionary as parameter. The called script looks like this:


Set Variable [ $r; Value: MBS("Dictionary.SetVariables"; Get(ScriptParameter); 1) ] 


We get back those variables and passed them all in two lines from one script to other script. No more conversion to text or storing in global fields, even for containers. Try it! You'll love it.

MBS Releases the MBS Xojo Addressbook Kit in version 1.0

Tuesday 17 March 2015 at 12:07 pm
Nickenich, Germany (March 17th, 2015) -- Monkeybread Software releases version 1.0 of the MBS Xojo Addressbook Kit.

The MBS Xojo Addressbook Kit provides you with a few useful classes and modules to easily add Addressbook to your Xojo iOS application.

Complete Wrapper for iOS Addressbook framework.
  • CFErrorMB
  • ABSourceMB
  • ABRecordMB
  • ABPersonMB
  • ABMutableMultiValueMB
  • ABMultiValueMB
  • ABGroupMB
  • ABAddressbookMB
You can query sources, groups and persons, read/modify/delete values and get/set images for persons. Our example shows you how to create a person and browse people, groups and sources.

Wrapper Features
  • For Xojo 2015r1
  • Using exception handling to track error
  • Test code included
  • All classes with MB postfix to avoid name conflicts.
  • All module definitions are protected to avoid conflicts
  • Inline documentation
  • Full Source code, no encryption
  • Works for 32bit and 64bit targets.
Our Addressbook Kit requires Xojo 2015r1 or newer.
If you need similar classes for OS X, you can check the MBS Xojo Cocoa Plugins from us.

The Addressbook Kit is available for $99 USD or 79 Euro (+VAT if needed).

You can learn more and try the sample application on our website.
Please do not hesitate to send us comments, questions or feedback.

MBS Xojo / Real Studio Plugins, version 15.1pr1

Monday 16 March 2015 at 7:00 pm
New in this prerelease of the 15.0 plugins:
  • Added inline option for CURLEmailMBS.AddAttachment.
  • Added methods to AVMetadataItemFilterMBS to build filters on the fly and limit what is exported with AVAssetExportSessionMBS.
  • Added backgroundColor parameter for NSImageMBS.CopyPicture.
  • Added NSImageMBS.CopyPictureWithAlpha function.
  • Added MapiMessageMBS.SendMailMT methods.
  • Added CenterResize functions for Cocoa applications to resize window centered.
  • Updated MAPI functions to user Unicode API.
  • Added XLBookMBS.CopyContent function to copy content from one XL document to other, useful for converting between XLS and XLSX formats.
  • Added AVAudioMixMBS.mutableCopy, AVMetadataItemMBS.mutableCopy and a copy constructors to the mutable classes.
  • Improved SQL Plugin for running better threaded.
  • Changed SSH Plugin to set keep alive for the socket and set pipe signal to ignore automatically.
  • Fixed bug in CGSWindowListMBS class (double free which caused problems sometimes).
  • Added DNSServiceBaseMBS.Initialize function.
  • Optimized array access for RS 2006r4 to Xojo 2015r1 for maximum speed.
  • Added values functions for Java array classes to get Xojo array with values.
  • Added private constructors to Java classes.
  • Fixed DidConnect events for SQLConnectionMBS and SQLDatabaseMBS.
  • Added Trace event to SQLDatabaseMBS class.
  • Added Listen method and PostgresNotification event to SQLConnectionMBS and SQLDatabaseMBS classes.
  • Added JavaStatementMBS.executeBatch function.
  • Updated DynaPDF to version
  • Added DynaPDFMBS.SetMetadata method.
  • Added TiffPictureMBS.Predictor property and constants.
  • Added RegExMBS.Unescape function.
  • Fixed AUPlayerMBS to work on Mac OS X 10.6 again.
  • Added DynaPDFMBS.ImportPDFPage function.
  • Fixed a bug with NSURL conversion in NSObject to variant conversion in plugin.
  • Added addressbook properties to various addressbook classes to avoid the addressbook being freed before person/group/value objects are freed.
  • Fixed a bug with DynaPDF registration on Windows. The dialog to show message about outdated license key did cause a buffer overflow (only on Windows).
Download: macsw.de/plugin. Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 5.1pr1

Monday 16 March 2015 at 1:42 pm
New in this prerelease of the 5.1 plugins:
  • Added RegEx.FindMatches function.
  • Added inline option for SendMail.AddAttachmentFile and SendMail.AddAttachmentContainer.
  • Added DynaPDF.SetPrinterSettings, DynaPDF.GetPrinterSettings and DynaPDF.GetInPrinterSettings functions.
  • Added RichText.WritePDF and RichText.GeneratePDF functions.
  • Added parameter to Math.TextToNumber to detect dot or comma for decimal separator.
  • Added Dictionary.SetVariables function.
  • Added Dictionary.Values, Dictionary.AddSQL, Dictionary.ValueTypeForKey and QuickList.AddSQL.
  • Added GMImage.NewImagesFromContainer and GMImage.NewImagesFromFile to split tiff.
  • Added XL.CopyContent function to copy content from one XL document to other, useful for converting between XLS and XLSX formats.
  • Added Text.CapitalCase, Text.LowerCase and Text.Uppercase with full unicode support.
  • Added Plugin.SetPreviewSize function to control preview sizes.
  • Changed PDF preview rendering to make smaller previews in faster speed.
  • Added parameter for various functions returning PDF containers to disable rendering of JPEG preview: SQL.GetFieldAsPDF, SQL.GetParamAsPDF, WebView.RenderPDF, CURL.GetResultAsPDF, PDFKit.GetPDFPageValue, Files.ReadPDF, Window.AsPDF, Container.DecodeFromBase64, ServiceProvider.Value, CGPSConverter.Convert, PDFKit.GetPDFPagePDF and PDFKit.GetPDFPagesPDF.
  • Fixed bug in GMImage.WriteImages function. Now working again.
  • Changed FM.ExecuteSQL to return error messages in clear text on error. You can use IsError function to know if it was an error.
  • Updated DynaPDF to version
  • Added FM.ArgumentCount and FM.Argument functions.
  • Fixed GMImage.GetPixelColor to return correct error message if coordinate is out of bounds.
  • Fixed bug in JSON.GetObjectName. Reports now an error if index is out of bounds instead of crashing.
  • Changed ZipFile.WriteContainer to accept writing empty file.
  • Added UnZipFile.UsePassword and ZipFile.UsePassword to encrypt Zip archives.
  • Fixed bug in Text.DecodeFromXML and Text.DecodeFromHTML about html entities not being decoded correctly.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Older blog entries:

2015-03-11 Centered window resizing for Xojo Cocoa applications
2015-03-11 Installing 32 bit libraries on Ubuntu 14
2015-03-10 MBS Releases the MBS Xojo Network Kit in version 1.0
2015-03-05 Arbed updated and reduced price
2015-03-04 FileMaker Conference 2015
2015-03-04 Retina Drag & Drop
2015-03-03 MBS Releases the MBS Xojo Encryption Kit in version 1.0
2015-03-02 xDev Magazine Issue 13.2
2015-03-01 FileMaker meetings in Texas
2015-02-28 The 2015 Xojo Developer Conference, 2 months left
2015-02-27 MBS FileMaker Plugin debugging help
2015-02-24 MonkeyBread Software Releases the MBS Xojo / Real Studio plug-ins in version 15.0
2015-02-24 MBS FileMaker Plugin 5.0 for OS X/Windows - More than 3000 Functions In One Plugin
2015-02-24 FileMaker Magazin - MBS Artikel
2015-02-23 Dash help archives updated
2015-02-23 MBS FileMaker Plugin, version 5.0fc1
2015-02-23 MBS Xojo / Real Studio Plugins, version 15.0fc1
2015-02-23 Dropbox Mirror
2015-02-22 Help Us Get the Word out about Omegabundle for Xojo 2014 and Get Free Stuff
2015-02-19 MBS FileMaker Plugin, version 5.0pr12


Mar 2015
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
XML: RSS Feed XML: Atom Feed