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


Winterthur Xojo Meeting

Tuesday 30 September 2014 at 2:13 pm
The Xojo meeting in Winterthur will take place twice.

Monday, 13rd October 2014
Saturday, 18th October 2014

We meet at about 7pm in a restaurant. If you are interested, please contact me. (Free entry)
Extract location will be emailed later.

Other meetings:
Hamburg: 1st October 2014
Den Haag: 8th October 2014

Tip of the day: Print to PDF with OpenPrinter in Xojo

Tuesday 30 September 2014 at 10:37 am
This little example code shows how to redirect printing to a PDF file in Xojo and still use the built in Xojo print commands via graphics class:
// get Xojo printer setup dim p as new PrinterSetup // now put it into NSPrintInfo to manipulate dim n as new NSPrintInfoMBS n.SetupString = p.SetupString // change destination to file dim f as FolderItem = SpecialFolder.Desktop.Child("test.pdf") n.SetSaveDestination(f) // move back p.SetupString = n.SetupString // and print as usual dim g as Graphics = OpenPrinter(p) g.DrawString "Hello World", 20, 20

Quicklist - Fast lists for FileMaker

Monday 29 September 2014 at 11:27 pm
In FileMaker you use value lists for various things. Those lists are simply text separated with new line characters. You can build them easily in FileMaker calculations by appending new text to a list and using the ¶ character. To query a list you can use ValueCount and GetValue functions.

Performance

If you start to process lists with 10000 or more items, you will see degrading performance. Appending list entries requires FileMaker to make a new text and allocate memory for new size, copy existing text and new text together into the new text and return it. The longer the list becomes, the longer the copy process will take. For accessing list in a loop, you call GetValue a lot. Each time you query a value, the FileMaker runtime has to loop over the content of the text and find the nth item. The longer the text is, the longer this search will take.

Query values

The MBS Plugin now offers QuickList functions. With QuickList.New function you create a new list passing the text of existing list. The plugin will parse it once for fast access. You query the number of items using QuickList.Count function. The function QuickList.GetValue now reads a value and if you do a loop over thousands of entries. You will notice that for a lot of entries, the plugin will be magnitudes faster. When done, please free the list from memory using QuickList.Free function.

Building lists

To build a list, you also call QuickList.New. You can pass of course a text with initial list items. Than use QuickList.AddValue to add a value as often as you need. To optimize memory you can reserve memory upfront for a given number of entries using the QuickList.Reserve function. Now we you added enough entries to the list, you can use QuickList.GetList to get the whole list as text. Finally you release the memory of the list.

Results

The client we developed this functions had to import a text file with 150,000 lines and create new records. Just by using QuickList.GetValue instead of GetValue, the time needed for importing went down from over 20 minutes down to just below 3 minutes. Further optimization gained more speed ups like also using QuickList for parsing each row. While QuickList is built for lists with ¶, but the QuickList.New and QuickList.SetList functions take an optional parameter for delimiter. This way you can also use tab character (pass 9) or "|" (vertical line) as delimiter.

Macoun Article

Monday 29 September 2014 at 6:58 pm
At the Macoun I made some notes and wrote an article about the conference.

You can read it on the Mac & i website: heise.de/mac-and-i/artikel/Macoun-2014-iOS-8-Yosemite-und-Swift-2405151.html

The event was great and a big family meeting of the Mac and iOS developer community in German speaking countries.

Sending Email with FileMaker via MBS Plugin

Monday 29 September 2014 at 2:37 pm
While FileMaker has a built in script step to send email, it's fairly limited. You can specify only one attachment and just plain text for the email content.

As an alternative we want to show you how to use MBS Plugin functions to build and email and send it through your SMTP server via CURL functions. The MBS Plugin supports multiple recipients, multiple attachments and email content can be provided as html, rich or plain text. No worries about text encoding as the MBS Plugin encodes the email content as UTF-8, so all the umlauts and smileys survive. (more)

Greetings from Macoun

Sunday 28 September 2014 at 11:26 am
The Macoun conference is one of the biggest Mac and iOS developer conference with over 400 participants.

22 sessions about coding topics, well, it feels like a smaller WWDC in German. :-)
Currently I enjoy another session about Swift.

Check the website: macoun.de

FileMaker conferences

Friday 26 September 2014 at 12:54 pm
Just learnt that there is also a FileMaker conference in Stockholm this year. So here is updated list:

FileMaker conferences:
You can meet me in Winterthur, Toulouse and in Den Haag to learn more about the MBS FileMaker Plugin.

Xojo Cloud Data Centers

Friday 26 September 2014 at 10:27 am
Do you use Xojo Cloud?
Well, it's a convenient way to host Xojo apps:
  • For a space for yourself to test web apps
  • To host web apps you want to present to a client
  • To get a server for client to host their app you wrote.
While you can setup yourself a virtual private server with some configuration work, for a lot of Xojo developers it's certainly more convenient to buy the xojo cloud server and deploy there. Let someone else install Linux updates and keep an eye on intruders and security.

And now they added more data centers:
  • Chicago
  • London
  • Hong Kong
  • Sydney
see Announcement on Xojo website

FileMaker Stammtisch Hamburg

Thursday 25 September 2014 at 6:07 pm
Next week the FileMaker users in Hamburg meet for a casual get-together. Please join us and learn what's new in FileMaker.
Meeting is in Block House Wandsbek in Hamburg at 7pm.

I will attend and be around for questions.

see filemaker-magazin.de/service/filemaker-stammtische/hamburg

PS: Xojo meeting in Hamburg is 1st October.

Sending email via SMTP using CURL

Wednesday 24 September 2014 at 10:33 pm
If you have trouble sending email via CURL functions, how about trying those options:
  • OptionUpload on
  • OptionVerbose on
  • OptionPort 587
  • OptionFTPSSL all
  • OptionURL smtp://server
This way, we get right port, use SSL, but with TLS upgrade on a normal smtp URL. Using SMTPS URL fails as it starts a SSL connection right away. For some server this fails as they need a normal SMTP start and later an upgrade to SSL.

PS: This way you can send email via MBS Plugin in both FileMaker and Xojo over Office 360 smtp servers from Microsoft.

MBS Xojo / Real Studio Plugins, version 14.4pr2

Wednesday 24 September 2014 at 6:45 pm
New in this prerelease of the 14.4 plugins:
  • Added CoreWLAN keychain utility functions to CWGlobalsMBS module.
  • Added CGDisplayMBS.DisplayProductNames function.
  • Added UDPSocketMBS.ReusePort property.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

MBS Filemaker Plugin, version 4.4pr2

Wednesday 24 September 2014 at 3:41 pm
New in this prerelease of the 4.4 plugins:
  • Added QuickList functions to work on lists much quicker.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

EasyTCPSocket Packet format

Wednesday 24 September 2014 at 10:55 am
Recently we had need to write a counter part in another development tool for EasyTCPSocket, so here is the format description of the packets:
  • Packet starts with 4 byte length as Integer, big endian
  • Followed by 4 byte command code as integer (big endian)
  • Followed by the actual packet data
With this information, everyone can write a counter part and maybe someone from Xojo wants to officially confirm that and document it.

Xojo Meetings in Europe

Tuesday 23 September 2014 at 11:34 pm
We are organizing some Xojo meetings in October and if you are interested, please join survey or contact me:
  • Den Haag (Netherlands), date is Wednesday, 8th October in VJ Scheveningen/Den Haag. Like to join? Please email me.
  • Toulouse (France), survey still running
  • Winterthur (Swiss), survey still running
  • Hamburg (Germany), date is Wednesday, 1st October in Hamburg. Like to join? Please email me.

MBS Xojo / Real Studio Plugins, version 14.4pr1

Sunday 21 September 2014 at 10:39 pm
New in this prerelease of the 14.4 plugins:
  • Updated DynaPDF to version 3.0.35.101.
  • Fixed problem with memory management which caused issue with overwritten memory in CURLSMBS.OutputData property.
  • Added placeholderAttributedString and placeholderString to NSTextFieldMBS class.
  • Changed JSONMBS to add items to object/array by reference if they belong to other tree.
  • Changed TimerMBS to no longer be reentrant if something yields time in action event of timer.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

MBS Filemaker Plugin, version 4.4pr1

Sunday 21 September 2014 at 8:01 pm
New in this prerelease of the 4.4 plugins:
  • For loading of XL or DynaPDF library, you can now specify just name of DLL/dylib to find it in FileMaker folder or in the Extensions folder.
  • Updated DynaPDF to version 3.0.35.101.
  • Added Clipboard.ReadArchive and Container.WriteArchive functions.
  • Added Clipboard.GetData function.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Three more Plugin parts sold separately

Saturday 20 September 2014 at 6:41 pm
Due to recent requests, I put three more plugins part for individual purchase on the store.

Linux, AVFoundation and Lion.

While Linux plugin can be used alone, the other two plugins have references to Cocoa plugin. So in order to use them and have projects compile you need to install the required plugins (Cocoa, CocoaBase, Leopard, MacOSXCG and MacOSXCF).

With Lion plugin alone you can of course just use the new Mac App Store receipt classes. For AVFoundation plugin you can only use a few limited features without other plugins, like opening a video and reading meta data.

FileMaker conferences

Friday 19 September 2014 at 1:40 pm
0You can meet me in Winterthur, Toulouse and in just two weeks in Den Haag to learn more about the MBS FileMaker Plugin.

FileMaker conferences:

MBS Xojo Developer Conference starts soon

Tuesday 16 September 2014 at 11:17 pm
Tomorrow our training day starts and in evening we meet in beer garden (see picture) and you are welcome to join!
Later we go for dinner in the hotel restaurant.

If you like to attend, please register soon. We already have participants from 11 countries.

Xojo developers coming for a visit for dinner are welcome.
If you like to come Thursday, please contact me so you can join our dinner event.

[ANN] MonkeyBread Software Releases the MBS Xojo / Real Studio plug-ins in version 14.3

Tuesday 16 September 2014 at 3:06 pm
NICKENICH, Germany (September 16th, 2014) -- Monkeybread Software releases version 14.3 of the MBS plug-in for Xojo and Real Studio.

The MBS plug-in comprises a collection of several plug-in parts which extend the Xojo (Real Studio) development environment with 2,100 classes featuring over 53,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 14.3 update:

For applications in the Mac App Store, we have the StoreKit functions to handle in-app purchases. With the new plugin we add classes to read details from the app store receipt and check which in-app purchases have been purchased. Our plugin can also verify if the receipt is valid.

Our CURL Plugin can send and receive emails for years now via IMAP, Pop3 and SMTP. With the new plugin class CURLEmailMBS we make it easier to build the emails for sending. So you can assemble an email with HTML, plain and rich text parts, attachments and various addresses and send it via SMTP server through CURL classes.

For Mac we implemented the Image Capture classes and various views. So you can show the same user interface as Apple's applications. There is a device selector view, a scanner and a camera view. You can access devices like scanners and cameras, browse, import or scan images.

Our new TimerMBS class provides a high resolution cross platform timer. While Xojo's built in timer only fires 60 times per second on Windows, our timer can run a quick as 1000 times per second.

The new UDP Socket class in our plugins provides some more low level options for UDP. For example you can reuse addresses for multicast.

For printing we got improvements for both Mac and Windows. The NSPrintInfoMBS class can now be used to modify PrinterSetup.SetupString to enable different options like duplex printing or switch printers. Similar things can be done on Windows using the WindowsDeviceModeMBS class using new functions.

Our SQL Plugin now supports better using SSL with MySQL. The new ConnectionHandler events allow you to specify extra options for connecting. The SQLDatabaseMBS class now raises exceptions if you call unsupported functions. This avoids trouble for unintended calls.

This update includes a lot of little improvements like get/set RTF data on a TextArea on Windows using native methods which is more efficient. We already have similar functions for Mac, so you can avoid using StyledText class methods. Our WinThumbnailMBS function provides preview images of supported file types on Windows.

With this update, we also provide updated libraries like zint, PortAudio, OpenSSL 1.0.1i, CURL 7.37.1, DynaPDF 3.0.35.100, LCMS 2.6 and LibXL 3.6.0.

See release notes for a complete list of changes.

Older blog entries:

2014-09-16 MBS FileMaker Plugin 4.3 for OS X/Windows - More than 2700 Functions In One Plugin
2014-09-16 Xojo Meeting in Hamburg, Germany
2014-09-14 MBS Xojo / Real Studio Plugins, version 14.3pr11
2014-09-14 MBS Filemaker Plugin, version 4.3pr11
2014-09-11 Tip of the day: Double comparison
2014-09-10 Tip of the day: Start your Mac with pressed Shift Key
2014-09-09 MBS Xojo / Real Studio Plugins, version 14.3pr10
2014-09-09 MBS Filemaker Plugin, version 4.3pr10
2014-09-09 Updating PrinterSetup.SetupString on Windows
2014-09-09 Updating PrinterSetup.SetupString on Mac OS X
2014-09-09 PDF printing via PDFKit
2014-09-08 Registration Now Open for XDC 2015
2014-09-06 MBS Xojo Developer Conference in two weeks
2014-09-05 MBS Xojo / Real Studio Plugins, version 14.3pr9
2014-09-05 MBS Filemaker Plugin, version 4.3pr9
2014-09-05 You make backups?
2014-09-05 FileMaker Meeting in Colonge
2014-09-04 xDev Magazine Issue 12.5
2014-09-04 FileMaker Magazin 2014/04
2014-09-03 Currency Data Type

Archives

Sep 2014
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