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

xDev Magazine Issue 13.4

Thursday 02 July 2015 at 11:38 am
The July/August 2015 (13.4) issue of xDev Magazine is now available.
Here's a quick preview of what's inside:

* WWDC 2015 * by Sam Rowlands
Amongst other news, Apple announced OSX "El Capitan" at their recent developers' conference. What does the new OS mean to Xojo users? Can you take advantage of El Capitan's new features now? Sam explains everything!

* Overflow Errors * by Markus Winter
We all make misakes, I mean, mistakes. But overflow errors are invisible and far too easy to overlook until your program doesn't work right. Find out what they are and how to stop them.

* MacBook For Who * by Sam Rowlands
Apple's latest single-port MacBook is controversial for trading power and expandability for thinness, but did the company find the right balance? Sam bought one and reveals how well it works for the Xojo developer.

* Charting Personal Health * by JC Cruz
As part of his ongoing personal health journal project, JC Cruz explains how to chart a user's health data.

Plus: making programming decisions, database design tools, OS updates, tips on DoubleClickTime and line endings, and much more.

FileMaker Meeting in Kiel

Thursday 02 July 2015 at 11:15 am
We had a nice small FileMaker user meeting in Kiel, Germany:

Sadly two people didn't show up, but well, I have been to meetings ranging from one to 29 people in the last years :-)

Job offer in Midlands, UK

Wednesday 01 July 2015 at 4:11 pm
We just got notice about a job position from Dave Duke in UK:

Name: Dave Duke
Company: Access defender ltd
Phone: 0792 0123456
Website: www.siemfree.com
E-Mail: Dave@daveduke.co.uk
Location: Wet last Midlands UK
Platform: All

I am looking for 3-6 xojo developers to be based in West Midlands UK, at least 5 years RB/XOJO experience. Security experience a bonus. SQL Postgres XL a bonus. Positions start at £50,000 and above.

Problem solving a must!

These are full time job positions, a new company set up to deliver security solutions.

I know Dave now for over 5 years as a Xojo developer using our plugins. I did myself several consulting projects for him and I know that he hired at least one other Xojo developer in UK for another of his companies in the past. So if you are looking for a Xojo related job in UK, maybe this is your chance?

MBS Xojo / Real Studio Plugins, version 15.2pr5

Sunday 28 June 2015 at 6:42 pm
New in this prerelease of the 15.2 plugins:
  • Fixed bug with ChartDirector string array handling introduced in earlier prerelease.
  • Marked some QuickTime stuff to be deprecated for Xojo 2014 and newer.
  • Fixed a bug with ChartDirector setDataSymbol method for bigger image sizes.
  • Changed JavaVMMBS to raise more exceptions if initialization failed.
Download: MBS Plugins for Xojo and MBS Plugins for Real Studio. Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 5.2pr5

Sunday 28 June 2015 at 12:47 pm
New in this prerelease of the 5.2 plugins:
  • Changed Text.WriteTextFile and others to better handle null characters in text.
  • Fixed bug in GMImage.NewFromBase64.
  • Changed syntax coloring to not color text black unless we have something to format like a bracket. This way you should normally not see syntax coloring in field picker.
Download at dropbox.com or ask for being added to the dropbox shared folder.

MBS Xojo / Real Studio Plugins, version 15.2pr4

Wednesday 24 June 2015 at 10:35 pm
New in this prerelease of the 15.2 plugins:
  • Modernized HexStringMBS to use dynamic memory allocations, raise OutOfMemoryException and avoid an overflow bug we had there.
  • Added feature to SQLDatabaseMBS, SQLCommandMBS and SQLConnectionMBS to pass on options from connection/database object into commands. This way you can set PrePreFetchRows option on database/connection and option, so you can use that for SQLSelect calls.
  • Changed CURL class so that the file streaming not just works for PerformMT, but also for Perform.
  • Added old TrackingMode property to NSSegmentedControlMBS now named cellTrackingMode.
  • Added missing functions relativeRadialGradient and relativeLinearGradient to CDAngularMeterMBS class.
  • Changed PortAudioStreamBufferedMBS and PortAudioStreamCallbackMBS to make sure Finished event fires on main thread always.
  • Reduced plugin interdependencies.
  • Fixed UUIDMBS.randomUUID which was not always really random.
  • Changed CURL to set Verbose option on by default. Also we switch on Collect properties if you have no event and no file streaming in use.
  • Updated DynaPDF to version
  • Fixed Merge and HyperLink methods in XLSheetMBS class.
  • Rebuilt with newer Plugin SDK.
  • Optimized ChartDirector Plugin array access and memory usage.
  • Added ProcessMBS.TransformProcessType.
  • Improved exception handling in ChartDirector so it raises OutOfMemoryException in low memory situations..
  • Our plugin now more consistently use FunctionNotFoundException if a library/function isn't available/loaded.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 5.2pr4

Wednesday 24 June 2015 at 8:10 pm
New in this prerelease of the 5.2 plugins:
  • Fixed copy button to copy even lines not currently visible in FileMaker 14.
  • Fixed an issue with Dialog functions where Dialog.SetButtons overwrote on Mac the buttons.
  • Added EventMonitor functions to check if which button the last mouse click used.
  • Fixed ProgressDialog.Show to reset Cancel flag on Windows, too.
  • Changed ServerSocket.SendQuery to have a 3 second connect timeout.
  • Added AVAsset functions to use OS X functions for getting images and metadata for movies.
  • Changed CURL to set Verbose option on by default.
  • Updated DynaPDF to version
  • Added SystemInfo.IsAdminUser function.
  • Added CURL.GetResultAsContainer function.
  • Added new mode to CURL.GetResultAs* functions to use the file name from URL if you don't provide one.
  • Fixed indexed for parameters to WebView.Screenshot function.
  • Added Text.InvalidCharactersForEncoding function.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Xojo 64-bit progress

Wednesday 24 June 2015 at 6:49 pm
You wonder what progress is on 64-bit Plugins for Xojo?

Well, the first thing is that Xojo for 64-bit is in early testing and only available for limited group of people. That group luckily includes the XDC 2015 attendees.

Did you attend the last the conference in Austin, Texas?

Than you should go to Xojo forum and see if you find the postings about the 2015r3 version with 64-bit for testing. Everyone else waits for beta test to start.

For the plug-in, I can say that we should be ready when beta test starts. Not all features work already, but some do and we need to test things over time.

WMI queries in FileMaker

Wednesday 24 June 2015 at 3:44 pm
The Windows Management Instrumentation has the nice feature to run SQL like queries against the database with all the system information. For next MBS FileMaker Plugin now has functions to query those configuration database. Like this example database:

As you see we connect to local computer's namespace (root\cimv2) and run the query "select * from Win32_Printer" to query all properties for all printers. Than our example database will walk over all records found and put all fields with name, type and value. Like on this screenshot for the printers:

Now the queries you can do include table names like Win32_Processor, Win32_NetworkAdapter, Win32_OperatingSystem, Win32_NTEventLogFile, Win32_NTLogEvent, Win32_PrintJob, Win32_Printer, Win32_LogicalDisk, Win32_DiskDrive, Win32_PhysicalMedia, Win32_SerialPort, AntiVirusProduct, FirewallProduct, AntiSpywareProduct or one of the others Microsoft named.

Guess what you can do with this in your solutions with queries on those!

PS: We also have this for Xojo in our MBS Xojo Win Plugin: WindowsWMIMBS class.


Monday 22 June 2015 at 4:58 pm
Recently a client tried our menu commands to build a contextual menu. His problem was that the mouse click is consumed and processed by FileMaker and he had no idea which mouse button was used to trigger the button and his script. At the time the script run, the mouse button was up already. No way to ask the operation system what button is down.

To help here we added EventMonitor functions to our plugin. Currently you can use them to only detect if last mouse event was due to left or right mouse button. Your script can query that and know the state of the mouse buttons.

We got three new functions:
EventMonitor.Install to call once at startup to tell plugin to monitor events.
EventMonitor.Clear to clear current state if needed.
EventMonitor.LastMouseClickButton to query last mouse event's mouse button.

Technically we could add more things here like the mouse position at the time of click.
Maybe you have ideas for more cool functions?

Now enjoy all using MBS Plugin to present contextual menus in FileMaker and decide in your script what to do based on the mouse button.

Text data type

Friday 19 June 2015 at 8:40 pm
Since 2015 we do have this new text data type in Xojo. The updated plugin SDKs we got supports this data type, so we can use it in plugins.

Of course we will not change tens of thousands of function declarations, but we can use it in a few points to avoid the implicit conversion from text to string or back. For example we found it useful for those new functions:

SQLValueMBS.setAsText(value as text)
SQLValueReadMBS.asText as Text

If you have more ideas where we could support text and avoid extra data copying/conversion, please let us know.
Especially plugin functions you would call often, e.g. in loops, and pass text to the function.

FileMaker Meeting in Kiel and future meetings

Friday 19 June 2015 at 11:00 am
Our FileMaker meeting for Kiel is now scheduled for 26th June 2015.
We have a couple of interested people to join and will look now for a meeting place.

Upcoming meetings and conferences:
User MeetingKiel Germany 26th June
User MeetingReykjavik Island survey
FileMaker Developer ConferenceLas Vegas USA 20th to 23th July
FileMaker KonferenzHamburg Germany 8th to 10th October
FileMaker ConferenceGothenburg Sweden 20th to 21st October
FileMaker ConferenceLyon France 21st to 23rd October

If you want to join our local meetings, please contact me, so I can put you on the list.

ChartDirector 6.0 Released

Monday 15 June 2015 at 3:46 pm
ChartDirector 6 arrived. As you may know the MBS ChartDirector Plugin is based on the ChartDirector C library and this one got updated. We actually include the latest library already in the 15.1 release of our plugin. Now the ports for php and java are also done and the package is released.

Advanced Software Engineering is pleased to announce the immediate availability of ChartDirector 6.0.

ChartDirector 6.0 can now output charts as vector graphics in PDF. Comparing to SVG, another vector grapihcs format supported by ChartDirector, users are more familiar with PDF and viewers are widely available. PDF is therefore an ideal format to create soft copies of the charts.

For SVG, many browsers can now display SVG in IMG tags. ChartDirector 6.0 comes with an upgraded Javascript library that can support user interaction features for SVG, such as AJAX chart updates, tooltips, hot spots, programmable track cursors and zooming and scrolling support. Furthermore, the Javascript library now has touch support. The track cursor can track finger movement in addition to the mouse, and zooming and scrolling can be by tapping.

ChartDirector 6.0 comes with a new Viewport Control that supports both desktop and web applications. The Viewport Control lets users visualize and manipulate the viewport, which is a window on the full data range. Users can move the viewport in 2D to scroll the chart both horizontally and vertically, and resize the viewport to zoom in or out the chart.

ChartDirector 6.0 includes built-in support for zooming and scrolling for realtime charts, in which the viewport will be adjusted as the data are updated in realtime.

Meters and guages in ChartDirector have undergone a major upgrade. Linear meters can now uses bars in addition to pointers to represent data values. Color scales can be added at various positions to represent the scales by color gradients with variable thickness. The background, border and pointers styles have also been enhanced.

A list of new features in ChartDirector 6.0 can be found in the release note at advsofteng.com/release60.html

You can already get MBS ChartDirector Plugin in version 15.1 and use the new SVG and PDF features. For the improvements on control handling, we'll soon update our examples.

Exceptions and Private Constructors

Sunday 14 June 2015 at 10:53 pm
Today I added 20 new private constructors to the ChartDirector plugins. Why?

Well, we do have classes which can't really be used alone. If you create an CDAxisMBS with new command in Xojo, you only have an empty object. No internal object reference, so it's just an empty shell. To get such an object, you invoke a plugin function on another class, e.g. a chart. Like this example:

// bad old code, now impossible
dim axis as new CDAxisMBS
axis = chart.yAxis

// better code
dim axis as CDAxisMBS = chart.yAxis

Call new on a class where it's not intended causes trouble. First you have objects were any call to a method or property can cause an exception or a crash. To avoid it, I add private constructors to the classes to mark them being abstract. This effectively disallows you to subclass or instantiate them.

The documentation utility got a few fixes today. First I found over 100 items where text encoding got mixed up so you had strange characters in example code which caused confusion. Should all now be cleaned up. And those abstract classes are now also marked explicit as being abstract.

To make ChartDirector Plugin more safe in low memory situation, the next prerelease will have improvements in exception handling. Functions allocating memory should now raise OutOfMemoryException if they can't allocate memory for the work they do instead of crashing.

MBS Xojo / Real Studio Plugins, version 15.2pr3

Saturday 13 June 2015 at 11:53 pm
New in this prerelease of the 15.2 plugins:
  • Added methods for QTSoundExtractMBS, QTPictureMovieTrackMBS and QTMovieExporterMBS classes taking movie as handle.
  • Fixed a crash in SQLConnectionMBS with accessing an uninitialized lastSQLCommand property.
  • Added new functions to NSButtonMBS and NSSegmentedControlMBS for OS X 10.10.3.
  • Upgraded Xcode to version 6.3.2
  • Added more methods for ImageMagick's Image classes.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 5.2pr3

Saturday 13 June 2015 at 6:49 pm
New in this prerelease of the 5.2 plugins:
  • Changed Menu.DefineQuickMenuXML to use the given name in xml as ID reference instead of a number.
  • Added Dialog.SetTimeout for Mac to hide dialog after some time.
  • Plugin builds with Xcode 7 on 10.11 beta. Fixed a few minor problems detected by newer analyze function.
  • Upgraded Xcode to version 6.3.2
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Xojo Meeting in Newcastle upon Tyne, UK

Friday 12 June 2015 at 1:25 pm
For my stay in Newcastle next week I organise a Xojo developer meeting.

Join us in Newcastle, 16th June 2015. If you are not on the list already, please contact me, so we have enough seats.

Exact time and location will be announced, but time will probably evening for dinner in a restaurant.

There is a lot to tell about the recent XDC conference, upcoming 64-bit support, plugins and future Xojo releases.

Paypal example project

Friday 12 June 2015 at 10:11 am
Thanks to Jean-Luc Arnaud, we got a sample project to show how to use Paypal in a Xojo application.
The application opens a window to run the express checkout for purchasing something, e.g. the app license and than checks output. This way you can see if payment succeeded or failed.
For that we use a HTMLViewer to load the paypal website and in background a query using CURL Plugin to initiate the payment.

PS: Will be included in next prerelease.

Features to be removed

Friday 12 June 2015 at 12:13 am
As you may know we keep a lot of features alive long after Apple deprecated them. But it looks like with future updates, we may need to actually start removing some things from MBS Xojo and Real Studio Plugins.
Good candidates are: Please move to CoreText, CoreGraphics, AVFoundation and newer ColorSync classes (e.g. CSProfileMBS). To help you most classes are marked as deprecated in Xojo, so they show when you analyze your projects.

SQLite in memory databases

Thursday 11 June 2015 at 09:31 am
Sometimes you need more than an assoziative array in memory (Dictionary for Xojo and for FileMaker.).

Sometimes you may want to look at a SQLite database in memory. It has the big advantage that you can fill it with data and run SQL queries against it to find records of data.

To create a memory database with sqlite you specify a file path of ":memory:".

In FileMaker you call:

MBS("SQL.Connect"; $Connection; ":memory:"; ""; ""; "SQLite")

In Xojo or Real Studio you call with SQLDatabaseMBS class:

db.DatabaseName = "sqlite::memory:"

In Xojo or Real Studio you call with SQLConnectionMBS class:

con.Connect(":memory:", "", "", SQLConnectionMBS.kSQLiteClient)

All data is lost if not copied elsewhere when the application quits or you close the database.

Older blog entries:

2015-06-10 Handling tab in Listbox
2015-06-09 Make a 32-bit FileMaker 14 application
2015-06-08 MBS Xojo / Real Studio Plugins, version 15.2pr2
2015-06-08 MBS FileMaker Plugin, version 5.2pr2
2015-06-08 SQL Plugin option to include SQLite Library
2015-06-06 Microsoft Access?
2015-06-05 Xojo Meeting in Berlin
2015-06-05 Logging in FileMaker
2015-06-04 Just added functions
2015-06-04 Cookies for Chromium in HTMLViewer on Windows
2015-06-04 Greetings from .fmp 2015 in Berlin
2015-06-03 Xojo Developer Meeting in Berlin Germany
2015-06-03 Disable App Nap, System and Screen Sleep in FileMaker
2015-06-01 MBS Xojo / Real Studio Plugins, version 15.2pr1
2015-06-01 MBS FileMaker Plugin, version 5.2pr1
2015-05-30 Executing linux shared libraries
2015-05-29 Check your email sending code
2015-05-27 Xojo Developer meetings in Montreal (Canada) and Berlin (Germany)
2015-05-27 Schedules for FileMaker
2015-05-26 Dock Meter Example


Jul 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