The story behind syntax highlighting in Filemaker

Roland wrote a blog article on about how we started with the syntax highlighting in Filemaker with our plugin.

In english, as his blog entry is in German:

Saturday night after the FileMaker conference in Salzburg: a few participants sat together in a casual round in the hotel bar, drank a couple of beers and discussed - what a surprise: FileMaker. "Oh," I said. "Syntax highlighting, that would be cool." - "Hhm, let's see ...", Christian Schmitz of Monkey Bread Software murmured almost inaudibly.

Sunday I received an email from Christian. "Check out the latest beta version."
Overnight Christian has implemented the syntax highlighting in FileMaker scripts and in the formula editor!

Gradually he refines the features. Fine, fine!

I want to show current status: A picture is worth a thousand words. Christian, I say THANK YOU!

Thanks to Roland for the idea and for the help on testing it. If you like, to try it, please download our beta plugin.

Real Studio 2012r1.2

There are only a few little changes:
  • 22558: MacCocoa: No longer raises an ObjCException when viewing a ContainerControl in the debugger.
  • 22658: Macintosh: Fixed an assertion that was triggered if FolderItem.Item was invoked with an index > 1 on a directory for which the process does not have read access.
  • 21473: Web: Framework: Added a workaround for the iOS 6 Ajax bug.
Especially the iOS 6 fix is important as the ajax handling changed there in Safari. If you like you can read the details in Feedback application by looking up the case numbers above.

MBS Real Studio Plugins, version 12.5pr6

New in this prerelease of the 12.5 plugins:
  • Fixed bug with wrong datevalue in RecordSet from SQLDatabaseMBS.
  • Added WindowsProcessStatisticsMBS.HandleCount property and WindowsProcessStatisticsMBS.ModeHandles constant.
  • Added more NSControlMBS methods.
  • Added TextArea.NSTextFieldMBS.
  • Added drawWithBox event to all PDFAnnotationMBS subclasses.
  • Added NSFontPanelMBS.validModesForFontPanel and some constants.
  • Fixed a bug in DynaPDFMBS.SetFillColor with single array. Double worked, but single didn't.
Download: Or ask us to be added to our shared Dropbox folder.

MBS Filemaker Plugin, version 3.0pr6

New in this prerelease of the 3.0 plugins:
  • Added URLScheme.GetDefaultHandler.
  • Renamed SetDefaultHandlerForURLScheme function to URLScheme.SetDefaultHandler and InstallURLEventHandler to URLScheme.InstallURLEventHandler.
  • Changed Syntax Coloring to be lowercase. So please reset settings with SyntaxColoring.FactoryDefaults.
  • Added window functions for fullscreen mode on Mac OS X.
  • Added SyntaxColoring.GetTag and SyntaxColoring.GetTags.
  • Added SyntaxColor tag names for defining your own colors for calculations.
  • Added MovieView functions.
Download at

Real Studio Event, Birmingham UK, 2nd November 2012

Just a few days left and 4 seats are still available:

The Real Studio Developers UK User Group is pleased to announce a one-day conference on Friday 2nd November, at the Regus office, Ground Floor, One Victoria Square, Birmingham, B1 1BD.

During the day there will be presentations from guest speakers from the UK and abroad, including Stephane Pinel from Real Software, Christian Schmitz, Trisha Duke, David Cox and Eric Gibbon. There will be plenty of time for networking and Q&A, where you can get help with your questions and issues from others, and perhaps demonstrate your software to others.

If you are a Real Studio developer, or are thinking about developing in Real Studio, there will be something for you. A raffle will be held and two lucky people will get a coupon for a 50% discount from their next purchase on the Real Studio online store! (more)

Meet Jens Boschulte in Koblenz

We can confirm that Mr. Jens Boschulte, CEO of DynaForms GmbH and main developer of the DynaPDF library will join us in Koblenz for the Real Studio conference. So you can ask all your PDF questions and learn better how the DynaPDF library works. Of course questions related to the Real Studio plugin may be better asked to Mr. Christian Schmitz from Monkeybread Software.

DynaPDF is a PDF library which started as a little library for PDF related tasks like working on PDF forms and converting EMF to PDF. The library grew over the last years to now over 800 functions. Earlier this year it got powerful raster functions to display PDF pages. It's just a question of time when we will have full editor functionality available to create PDF editors for all the special usages our clients can imaging.

We hope you enjoy coming to our conference next month.
More details on the website

MBS Filemaker Plugin, version 3.0pr5

New in this prerelease of the 3.0 plugins:
  • Added SyntaxColoring.Clear and SyntaxColoring.FactoryDefaults.
  • Added Syntax Coloring with rule # for comments.
  • Added XML.Query for XPath queries on XML text.
  • Syntax Coloring does now take up to 5 words for matching and matches longer tags first.
  • Fixed memory leak in OCR.setImage function.
  • Fixed a potential bug in syntax coloring.
Download at

Notes on Windows 8

  • Windows 8 can be downloaded for free as 90 day test version. Search for Windows 8 Enterprise Evaluation.
  • How should I use this with a normal mouse? I hope Apple never has the crazy idea to run desktops with iOS!
  • Maps shows for my village images which are something like 5 years old. They show a factory which was teared down years ago. Google Earth shows the factory was away 2009 and grass already growing there.
  • Do not press windows key by mistake. You get back to main screen.
  • Real Studio seems to run just fine with our plugins.
  • All of our plugins load file. Verified with Plugin Load Check app.
  • Seems like security was tightened. ProcessMBS class seems to no longer see other processes.
  • Controls adopt the new style in view automatically. Custom controls may need to be updated to not look strange compared to native ones.
In general it looks like for our plugins, Windows 8 is just another Windows 7 with a new theme.

DynaPDF and SetFillColor precision

You can set fill or stroke color in DynaPDF using the normal SetFillColor/SetStrokeColor function. You pass an integer with the color value. This integer may be a simple color value for gray color space or may use RGB or CMYK functions for those color spaces.
But what if the integer precision is not enough?
Like if you want to show a 50% gray value, you can't really pass 127.5. You normally get it rounded down to 127.
If you really want to have 127.5, you need to use an array of doubles. We have FillColor overloaded so you can pass an array of double values to it. Now with double values you can pass 0.5 and the PDF will actually contain this value!
With doubles, the values are normalized in an array with one value per channel and range from 0.0 to 1.0.

Syntax Coloring Improvements

Today we worked on the syntax coloring and found a new use for it. You can tell the plugin now to highlight longer texts and specify script steps which would be an error. Like this: MBS( "SyntaxColoring.AddTag"; "Enter Find Mode [Pause]"; 1; 0; 0 ) So all Enter Find Mode script steps with Pause will be shown red. This way you can highlight your errors. Available in next plugin prerelease.

Tip of the day: Rotate image with CoreImage

This code is both fast and GPU accelerated so it works with huge pictures:
// Rotate image with CoreImage // load image dim f as FolderItem = SpecialFolder.Desktop.Child("test.png") dim image as new CIImageMBS(f) // rotate 45 degree dim n as new NSAffineTransformMBS n.rotateByDegrees(45) dim TransformFilter as new CIFilterAffineTransformMBS TransformFilter.inputImage = image TransformFilter.inputTransform = n // get result dim resultImage as CIImageMBS = TransformFilter.outputImage // for saving to file dim outputImage as NSImageMBS = resultImage.RenderNSImage(false) f = SpecialFolder.Desktop.Child("output.png") dim b as BinaryStream = BinaryStream.Create(f, true) b.Write outputImage.PNGRepresentation // as Real Studio picture object for display dim pic as Picture = outputImage.CopyPictureWithMask Backdrop = pic

MBS Real Studio Plugins, version 12.5pr5

New in this prerelease of the 12.5 plugins:
  • Added OldSDK parameter to EdsCameraMBS.DownloadEvfImage and EdsEvfImageMBS.Constructor for the case you want to use new plugin to 2.10 SDK instead of 2.11 SDK.
  • Added AfterDrawRect and BeforeDrawRect events to CustomPDFViewMBS class.
  • Added PDFAnnotationStampMBS.drawWithBox event for custom stamps.
  • Added PDFPageMBS.CalcTransformForBox helper function.
  • Changed NSLayoutManagerMBS. You now have InvisibleCharMapping to manage invisible characters. Removed the old properties: ideoGraphicSpaceChar, noBreakSpaceChar, endOfLineChar, spaceChar and tabChar.
  • Added PDFBorderMBS.dashPattern.
  • Added PDFAnnotationMarkupMBS.quadrilateralPoints.
  • Fixed NSSavePanelMBS.setMessage to no longer raise an exception if you call it with an empty string.
  • Fixed a bug in RegistryFileTypeMBS.
Download: Or ask us to be added to our shared Dropbox folder.

MBS Filemaker Plugin, version 3.0pr4

New in this prerelease of the 3.0 plugins:
  • Did some fine tuning on the text coloring so the font size is preserved.
  • Changed SQL.NewCommand function to automatically set scrollable option for new commands.
Download at

Real World 2013 in just 6 months!

Real World 2013 is just six months away. Time to mark the date in calendar and make sure you have a few days free for this event. If you know already that you will join us for the conference, you can register on the conference website.
Also if you have an interesting topic for a session, please contact Real Software.

Real World 2012 was a huge success with over 100 attendees from 14 countries, featuring 20 exciting sessions. On the heals of that success, we will be returning to sunny Orlando, Florida in 2013 at the Holiday Inn Downtown Disney!

The 2013 Developer Conference will be even bigger and better than 2012, with 3 full days of presentations and events!

Also check the events left for 2012:

My Case Study

Not sure if you read it already, but my case study is already three years old:

If you want to be there, contact Dana or Alyssa from Real Software and tell them your story.

PHP Functions in MBS Filemaker Plugin

With our 2.9 plugin function we added PHP functions. Those functions allow you to load the PHP library from file system and use it. This gives you tons of new functionality with our plugin for either reusing PHP code from your website or by solving new issues with PHP. (more)

Web app and space character

One of my clients recently asked about space characters on web apps. He is used to sometimes put more spaces in the text to increase the distance between words. But with a website, those spaces have no effect.

If you put several spaces in a string, the web browser will compact that to one space. Except if you use a non breaking space. To create a non breaking space on Mac you simply type option-space (alt key and spacebar). On Windows it depends on the application. For example in Microsoft Word and Open Office, it is Ctrl-Shift-Space.

If you are familiar with asc() function in Real Studio, we can tell you that normal space has code point 32 and non breaking space has 160. The unicode standard actually has 12 other different space characters with different width and other properties.

In HTML when sent to browser, the non breaking space will be encoded as   and the browser sees that as content for displaying. This is something I used years ago to have empty table rows in html have the high of normal text rows by using those spaces there.

MBS Real Studio Plugins, version 12.5pr4

New in this prerelease of the 12.5 plugins:
  • Updated DynaPDF to version
  • Added NSBezierPathMBS and related methods to NSGraphicsMBS and PDFAnnotationInkMBS classes.
  • Added MySQLMBS.SetSSL.
  • Added SQLValueReadMBS.asVariant.
  • Changed RecordSet from SQLDatabaseMBS to be scrollable and to allow multiple RecordSets being used at the same time with MySQL.
  • Added SQLAnywhere plugin part to our SQL Plugin. Works with SQL Anywhere 10, 11 and 12 from Sybase. License is same as for SQL plugin.
  • Added SQLAnywhereDatabaseMBS, SQLAnywhereLibraryNotLoadedExceptionMBS, SQLAnywhereNotInitializedExceptionMBS and SQLAnywherePreparedStatementMBS classes.
  • Added DistortImage for ImageMagick classes.
  • Added QTGrabberMBS.available.
  • Updated canon plugin to work with 2.11 SDK.
  • Fixed a bug in SQL Plugin's RecordSet class where sometimes you got same value for two integer columns. Maybe a compiler optimization broke it.
Download: Or ask us to be added to our shared Dropbox folder.

Progress on our conference

For the conference, we are getting closer to have the schedule done. There is still space left and we rearrange things to fit in another session if someone (you?) wants to speak.
I add myself a session "Advanced Language Features" and a session "SQLite in Depth". I think those will be very informative for people in the audience. Maybe I also repeat the security tips session from last conference if people are interested.

For one participants, I checked trains recently. From Austria you can take night trains to Koblenz directly. Simply get on board in Austria, sleep in the train and in the morning you arrive in Koblenz just before eight o'clock in the morning.
Actually you can get direct trains to Koblenz from Stuttgart, Hamburg, Vienna, Rügen, Munich, Berlin, Kiel, Klagenfurt, Chur (Swiss), Sylt, Oberstdorf, Greifswald, Luxemburg, Nuremberg and Passau. So our friends from Vienna can simply jump in a train if they don't get a flight.

For the evenings, I reserved space at the Weindorf, a lovely place to have dinner or drink a wine or beer.

More details on the conference and Registration.

MBS Filemaker Plugin, version 3.0pr3

New in this prerelease of the 3.0 plugins:
  • Added SQL.GetFieldAsJPEG, SQL.GetFieldAsPNG, SQL.GetParamAsJPEG, SQL.GetParamAsPNG and SQL.SetParamAsContainer.
  • Added GMImage.GetJPEGAsBase64, GMImage.GetJPEGAsHex, GMImage.GetPNGAsBase64, GMImage.GetPNGAsHex, GMImage.NewFromBase64, GMImage.NewFromHex.
  • Changed Container.GetDataURL to also work with PDFs.
  • Added some color for text and brakes in text edit.
  • Added String.DecodeFromBase64 and String.EncodeToBase64.
  • Added parameters for Audit function, so you can now pass "fieldname|value" to set additional fields in Audit call in your AuditLog table.
  • Added color feature so that MBS in calculation editor is blue.
  • Fixed Audit Function to work in Filemaker 10. BaseTable and Tables must match here and we can't query TableID/FieldID.
Download at

Calculation Editor Upgrade

What do you think about this picture on the right?

Do you like the idea?

Today I added a little bit color to this. I'm curious about what people think about it and if it makes trouble in other Filemaker dialogs as the color is a global thing. The plugin can color the field, but has no idea which field it is coloring currently.

Sqlite in Depth

Today we had here a nice idea for a session on the Real Studio Conference in Koblenz next month. I present a session on Wednesday about SQLite. In most projects we use SQLite via the REALSQLDatabase class or our own MBS Real Studio SQL Plugin.

So I hope you will enjoy this session and learn a few new things about the internals in SQLite and get a few tips and tricks from our daily use of this great database engine. Of course a few aspects in the session apply to other databases, too.

PS: The survey for another session is still running.

MBS Real Studio Plugins, version 12.5pr3

New in this prerelease of the 12.5 plugins:
  • Fixed SQL plugin, so RecordSet also has no problem when SQLite uses TEXT for a BLOB column. In that case value is now threaded as text.
  • Fixed a bug in one of the string conversion functions for older pascal string for Quicktime functions. This affects QTGrabber and other classes.
  • Improved RecordSet class from SQL plugin to return BLOB fields as binary data (instead of hex strings) and also other number and date/time values directly.
  • Added NSParagraphStyleMBS to the conversion code between variant and NSObject, so you can now use it for attributes in NSAttributedStringMBS class.
  • Added CustomNSTextFieldMBS class.
  • Fixed bug in NSWindowDelegateMBS.shouldClose event.
  • Updated DynaPDF to version
  • Added more NSWorkSpaceMBS methods.
  • Added NSAppleEventHandlerMBS, NSAppleEventManagerMBS and NSAppleEventManagerSuspensionIDMBS classes.
  • Added UTC parameter to AccessDateMBS, AttributeModificationDateMBS, BackupDateMBS, CreationDateMBS and ModificationDateMBS.
  • The plugin takes strings without known encoding now as MacRoman on Mac and ANSI encoding on Windows/Linux.
  • Fixed NSURLConnectionMBS class to work again.
  • Added DynaPDFMBS.ExtractPageText, a convenience function to extract text of current PDF page.
  • Fixed bug in WMI functions introduced in pr1.
  • Switched Windows CURL librasry back to version 7.26.0 as 7.27.0 crashes with SSH.
Download: Or ask us to be added to our shared Dropbox folder.

Real Studio Developer Magazine Volume 10 Book Pre-Order Sale

The 10th book is available with Real Studio Developer Magazines.
Normally the year books sell for $49, but with pre ordering you get 25% discount, so it's $37.50. Order here.

Or you get your copy for normal price in Orlando on the Real World conference.

Anyway, the magazine is great as it is more up to date than any book available and an huge library of Real Studio knowledge. I recommend everyone to have a copy of the back issues to browse.

Real World registration started

Real Software just emailed us that registration started. Tickets are available now for $750 in early bird registration.
This time I was the third one to register. Who was quicker than me?

So you have now three events to choose from:

Warning: MySQLCommunityPlugin

Today I got a crashlog in DrawString method. Well, that happens, but the real reason here is that the MySQLCommunityPlugin from Real Software used by the client to write the database project, returns strings without defined text encoding. This is no big problem for most US people as they don't use accents or umlauts often. But European or Asian people soon have trouble.
So the trouble is that the database uses cp1252 West European. Now if you pass a string without defined text encoding (or wrong text encoding) to drawstring, it can crash. Simply trying to interpret those bytes in the string as UTF-8 will make trouble and lead to a crash. Keep that in mind if you see a crash in DrawString!
The fix is: Use DefineEncoding everywhere you get a string from database without encoding set or switch to MBS SQL Plugin.
see also Feedback case 22836 and Feedback case 22727.

Tip of the day: Web Edition on Windows with xampp

If you use xampp on Windows to easily install apache, you also get perl and everything else you need to run your Web App made in Real Studio. But soon you will see error messages like

couldn't create child process 720003


couldn't spawn child process

To fix this, please open the cgi created by Real Studio and look for the first line. This line is normally "#!/usr/bin/perl -w" and called the shebang line. It tells apache where to find the application to run this script. But on Windows, there is a no folder usr on the hard disc usually, so you get the errors above.
You can fix it easily and add your path. For example for us it is "#!c:\xampp\perl\bin\perl.exe -w". With the modified version of the cgi, the web app does now start. As the cgi is the same for all Real Studio Web Apps of a given Real Studio version, you can simply reuse it for all your projects.

Newsletter trouble

Sorry people for the newsletters. First I sent them with wrong date for our conference, than the second email had the wrong greeting and I just discovered that some French people got the German version. Still I hope some people still like to join the conference: It's 19th to 21st November in Koblenz.

Real Studio Conference in Koblenz: Hotel Pictures

This morning we visited the hotel where our training and conference will take place to check a few things. We will have WLAN for all participants and also ordered a welcome coffee in the morning.

If you have questions, please ask.

An extra session on the conference in Koblenz

On our conference, the program is filling with sessions. I think I should make a second one beside my normal plugins show. I got already a few suggestions and started a survey. What would be an interesting topic for a session?

The survey on forum: Survey.

MBS Filemaker Plugin, version 3.0pr2

New in this prerelease of the 3.0 plugins:
  • Added syntax coloring for Filemaker 11/12 on Mac.
  • Added FM.ExecuteSQL.LastErrorMessage to get error message of last SQL command.
  • Added SystemInfo.Time
  • Changed Container.GetTotalSize and Container.GetTypeSize to work with referenced files.
  • Added WebView.RenderPDF function for Mac.
  • Added WebView.RenderImage support to Windows, not perfect, but works often.
Download at

Syntax Coloring for Filemaker 11 and 12

A picture says more than a thousand words. You see the color on the right?
Soon everyone using the MBS Filemaker Plugin can have this. By default we color if commands blue and loop commands green.
Maybe we even make it configurable. Stay tuned.

Will probably available in the next days with the next 3.0 prerelease.
What do you think about this idea?

Technically this script commands are shown on Mac OS X using a standard table. The plugin registers a callback to receive an event whenever the text drawing functions in the table want to draw something. We check the text and change the text color.

Functions added on the Filemaker Conference

In the last three days I got a lot of requests and ideas for new plugin features. And between the discussions I had some spare time for coding. So we got this new functions:
  • SystemInfo.Time
    Queries current system time in seconds with nanosecond precision. Good for timing how long something takes.
  • FM ExecuteSQL LastErrorMessage
    After executing a FileMaker SQL command, this function can give you the error message. Normally you only see the error in the data viewer in Filemaker, but here you can get the error in a script.
  • WebView RenderImage
    For Windows, I added some support to this function. Basically we print to an image. But some websites don't like that and some things simply do not print.
  • WebView RenderPDF
    This is a new function for Mac OS X to render a website to a PDF. Nice for storing a screenshot of a website. This gives sharp text and is often smaller than just a screenshot.
  • WebView Screenshot
    As Windows made trouble with getting image, I also added a screenshot function. This one takes a screenshot of exactly the position of the webviewer. This way you have a preview of the website to store, like for a thumbnail.
Have a nice year and see you again 2013 on the next conference in San Diego or Salzburg.

Real Studio Conference news

  • We got already a few registrations. Please sign up soon if you like to participate.
  • Geoff Perlman will do a Video Chat with us and talk about Real Studio 2013 and we expect a demonstration of the new iOS Target.
  • Robin Lauryssen-Mitchell will make a presentation about Feedback reports.
  • Peter Monadjemi offered to present about moving from Visual Studio to Real Studio.
  • Heinz Jürgen Groß will share his knowledge about color management and give some tips about porting applications from .NET to Real Studio.
  • Roland Stephan shows about using XML for storing data with introspection and also presents a web app made with Real Studio which is used for the Darmstadt Artists Directory.
More details on the conference website and training website.

Got a FileMaker Magazin Award for Best Plugin!

What a surprise! I just got one of those awards in front of 200 people on the conference :-)

Thank you FileMaker Magazin.

See also:

This conference is great so far with so many people and even Filemaker CEO came to visit us.
I met a lot of people and got a lot of new ideas for new plugin functions.

MBS Real Studio Plugins, version 12.5pr2

New in this prerelease of the 12.5 plugins:
  • Split NSView and QTKit plugin parts to make apps smaller if you don't use all classes.
  • Fixed a crash in one of the internal text handling classes from pr1.
  • Added CustomNSTokenFieldMBS class.
  • Changed DynaPDFMBS.CreateNewPDF to once again accept nil folderitem for creating in memory PDF.
  • Fixed a bug in DynaPDFParseInterfaceMBS.BeginPattern.
  • Removed LargeBinaryStreamMBS.ReadPString, LargeBinaryStreamMBS.WritePString, MidiObjectMBS.SafeMultiThreading, RamStreamMBS.LookPString, RAMStreamMBS.ReadPString, RAMStreamMBS.WritePString, XMPAssertNotifyMBS.SendAssertNotify and XMPMetaMBS.SendAssertNotify.
  • Updated DynaPDF to version
Download: Or ask us to be added to our shared Dropbox folder.

Real Studio meeting in Atlanta

Kevin just noticed me of their monthly meeting:

We'll be holding our monthly meeting on October 15th, 2012 from 6pm to 9pm!

Who: Everyone interested in developing in Real Studio
What: Monthly Meeting
Where: Aldo's Italian Restaurant
When: October 15th, 2012 - 6pm to 9pm
Why: We'll have a preview of the Southwest Fox Conference presentation "Real Studio for VFP Developers"!

I hope to see you there!

Handling errors is important!

Error handling is very important in every application development. Things go wrong. You can't write a file as you don't have permissions, disk is full or the file exists already and is protected, maybe by some app having it open. The connection to a server or database may be lost or some object property may have been set to nil somewhere else in your code.

Still I see a lot of code from users where functions returning error status are called with the call statement. Or I see exceptions not being handled as well as function results not being verified if they are nil. There are some common error cases which developers like to forget:
  • new picture raises exception for out of bounds (negative size!) or out of memory situations.
  • folderitem.item() returns nil on missing permissions.
  • SQLSelect returns nil recordset with SQL Syntax errors
  • Picture.Open can raise an exception
  • getting a value from a dictionary can raise a TypeMistmatchException, like for converting a window to a string.
There are still a lot of functions which silently fail without an error notice. And we have plenty of them in the plugins. So over the last month we got a couple of more checks in the plugin. Hundreds of functions have been modified to raise an exception if parameters are nil or required text parameters are empty strings. For example TiffPictureMBS.Open now raises NilObjectException with message "folderitem is nil" if you pass nil for the file parameter. So be sure you check the message and fix the problem. There is even a feedback report to have the IDE display the message of an exception (case 22193: Show Exception message in debugger)

Unfortunately we had a bug in adding the exception checks. DynaPDFMBS.CreateNewPDF is okay with passing nil for the folderitem. You do that in order to create a PDF file in memory. The 12.5pr1 DynaPDF plugin raises an exception as I added an unnecessary nil check there. You'll find an updated plugin in the Prerelease download folder to fix this.

Trip booked for Birmingham

I just booked my trip to Birmingham for 2nd November Real Studio meeting.
As you see on the event website, there are still more than 10 seats available.
Would be nice to meet you there.

MBS Real Studio Plugins, version 12.5pr1

New in this prerelease of the 12.5 plugins:
  • Added DirectShowAMCrossbarMBS class.
  • Fixed JavaClassMBS.NewObject method.
  • Changed internal folderitem functions to access path.
  • Changed internal text functions to use REALGetStringData/REALDisposeStringData from the 2012 SDK.
  • Changed internal CFDictionary/NSDictionary functions for converting from dictionary to use NSNull/CFNull if nil values are in the dictionary.
  • Added Create* methods to CGPDFDocumentMBS class.
  • Added DynaPDFEditTextMBS class for easier text editing in PDF.
  • Added NSTokenFieldMBS class.
  • Fixed CustomNSSearchFieldMBS.Action event to work again.
  • Changed MidiEndPointMBS and MidiPortMBS to use Grand Central Dispatch for faster event handling.
  • Changed DynaPDFMBS class to check better the text encoding and raise an exception if a string has no known encoding. This avoids problems with wrong text encoding.
Download: Or ask us to be added to our shared Dropbox folder.

MBS Filemaker Plugin, version 3.0pr1

New in this prerelease of the 3.0 plugins:
  • Fixed bug in Path.FilemakerPathToNativePath and Path.NativePathToFilemakerPath on Windows.
  • NSUserNotification works now even if Filemaker is frontmost.
Download at

Real Studio Conference in Koblenz

We just got confirmation from the hotel, where we are going to run a Real Studio event in November.

19th November: Training day
20th and 21st November: Conference days

Each with an optional dinner in the evenings and maybe we even add a sightseeing day for interested participants.

We are looking for some more speakers, so if you are interested, please contact us. We expect to have the schedule more complete by end of month.

More details: Events Website

Next week Filemaker Conference 2012 in Salzburg

Just one week left. If you join the conference in Salzburg, it would be nice to meet you and talk about plugins with Filemaker. Also if you use our plugins, we'd love to see what you use it for.

For more details, please check the website.
With the coupon code "mbsplugin", you get a 10 Euro discount on the conference ticket.

Real Studio Event, Birmingham UK, 2nd November 2012

The Real Studio Developers UK User Group is pleased to announce a one-day conference on Friday 2nd November, at the Regus office, Ground Floor, One Victoria Square, Birmingham, B1 1BD.

During the day there will be presentations from guest speakers from the UK and abroad, including Stephane Pinel from Real Software, Christian Schmitz, Trisha Duke, David Cox and Eric Gibbon. There will be plenty of time for networking and Q&A, where you can get help with your questions and issues from others, and perhaps demonstrate your software to others.

If you are a Real Studio developer, or are thinking about developing in Real Studio, there will be something for you. A raffle will be held and two lucky people will get a coupon for a 50% discount from their next purchase on the Real Studio online store! (more)

MonkeyBread Software Releases the MBS Real Studio plug-ins in version 12.4

NICKENICH, Germany (October 2nd, 2012) -- Monkeybread Software releases version 12.4 of the MBS plug-in for Real Studio.

The MBS plug-in comprises a collection of several plug-in parts which extend the Real Studio development environment with 1,500 classes featuring over 43,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console.

Some of the highlights on the 12.4 update:
  • We added a new PHP plugin. It is based on PHP version 5.4.6 and works on Mac OS X, Linux and Windows. This way you can use various extensions from PHP as well as reuse code you use with PHP on your website.
  • This plugin greatly improves Linux support by adding new classes for the avahi library. This library implements the Zeroconf protocol which is also know as Bonjour in the Apple world. So you can find other services on the local network. For Mac OS X and Windows we already have our DNSService classes.
  • If you use WebKit on Linux, you can now use our LinuxWebViewMBS and LinuxWebFrameMBS classes. They offer various methods to control the webviewer like clipboard functions, walking history or reloading.
  • With LCMS 2.4 we updated our plugins to also include new classes like LCMS2IT8MBS, LCMS2DictionaryEntryMBS and LCMS2DictionaryMBS. Now we have the whole LCMS library covered in our LCMS2 plugin.
  • For Mac OS X we added core image classes to detect faces. With CIDetectorMBS you can search an image quickly for faces and query position of eyes and mouth.
  • Our classes for DirectShow to record video on Windows have now an event to get notified when a new video frame is received. You can query the current frame image and process it.
  • For Mac OS X with Cocoa target we added new classes for printing. You can setup page format, start a print operation and print a view.
  • We also updated DynaPDF to version and the Plugin SDK to 2012r1.

See release notes for a complete list of changes.
If you have questions, please don't hesitate to contact us. Also you can ask questions at Real World in Orlando next year.

MBS FileMaker Plugin 2.9 for OS X/Windows - More than 1200 Functions In One Plugin

Nickenich, Germany - MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 2.9 for Mac OS X or Windows, the latest update to their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, and the web, the FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 2.9 has been updated and now includes 1200 different functions, and the versatile plugin has gained more than 100 new features:
  • We added new OCR functions which allow you to use the open source tesseract 3.01 library to recognize text in images. This works nice with images in Filemaker containers and provides text for full text search in media databases.
  • With our XL functions and the libXL library, you can read and write content to Excel files. No need for Microsoft Excel being installed. Especially you can write reports by loading a template Excel file and adding your data. Also you can create customized import functions to read data from Excel files. LibXL supports several Excel versions and supports both the older xls files and newer xlsx files.
  • You can now use PHP again in our plugins. We updated those functions to work with current PHP library. You can execute PHP functions, work with various extensions and call back from PHP code to your Filemaker scripts.
  • We now include our Runtime Shrinker application with our plugins. This application can reduce the size of a Filemaker runtime application by over 50%, depending on the settings like which languages or libraries to remove. Try it and enjoy faster downloads of your runtime solutions.
Read about all changes in detail in the release notes on our website. Please also take time to check our more than 100 example databases showing you the functionality of our plugin.

Real Studio 2012r1.1

Get your copy on the Real Software Download page.
Something like 20 bug fixes. Check the release notes page.
Especially the XML project saving was broken partly in 2012r1 which is now fixed.

I have been using the final candidate for a few days and had no problems so far.

MBS Filemaker Plugin, version 2.9fc

New in this prerelease of the 2.9 plugins:
  • Cleanup of Examples and Documentation
Download at


Jul 2024
Jun 2024
May 2024
Apr 2024
Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
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