Linux Loader Trouble

The last week we once again run into an issue with the Linux shared library loader. In a Xojo app you may end up having several libraries several times in different versions. For example the system provides the zlib library in some version, e.g. 1.2.3 on an older Linux installation. The MBS Compression Plugin uses zlib in version 1.2.8 while DynaPDF uses a custom patched 1.2.7 for the PDF compression. Also the Xojo runtime may come with its own version.

Now it seems like there can be a problem. All those versions of the library may or may not export publicly their functions and you may have several deflateInit functions around. Now when resolving the functions references in a shared library (e.g. plugin), the loader will pick one by name to solve it. And for us this was catastrophic a few times. Because you end up getting a different version of the library than expected. DynaPDF brings 1.2.7, but may end up getting tied up to 1.2.3 or 1.2.8. For PNG, JPEG, zlib and other libraries, there are checks in place to make sure the header files and the library matches in version. If versions won’t match data structures may have different sizes or parameters to functions have different meanings.

In DynaPDF the resulting error from a different zlib version is:

'EndPage: Error compressing stream!' (code:14, type:536870912)


This is solved for MBS Plugin 17.3pr4 by setting all non-exported symbols to local symbols. This should make all functions to resolve within the library take precedence over functions from other libraries.

For DynaPDF we added GetPNGVersion, GetJPEGVersion, GetTIFFVersion and GetZlibVersion functions. They allow you to query the jpeg, png, tiff and zlib versions used in the DynaPDF library.

PS: For FileMaker Cloud we do the same fix next prerelease.

MBS Xojo Plugins, version 17.3pr4

New in this prerelease of the 17.3 plugins:
  • Fixed crash with 64-bit for Execute methods in AuthorizationMBS class.
  • Changed linux linking to avoid loader to connect function to wrong library if several versions of the library exists.
  • Added MinY, MinX, MidY, MidX, MaxY and MaxX for NSRectMBS class.
  • Updated DynaPDF library to version 4.0.11.30.
  • Added OverlayMBS.menuForEvent event.
  • Turned properties for PDFKit annotation classes into real properties so you see them in debugger.
  • Fixed bug with DynaPDF and optimize command when using ICC based JPEG pictures.
  • Fixed problem with PDFAnnotationMarkupMBS not setting QuadrilateralPoints.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 7.3pr4

New in this prerelease of the 7.3 MBS FileMaker Plugin: Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

JavaScript callback in HTMLViewer on Mac

Did you know you can register you own JavaScript callbacks for a HTMLViewer on Mac?

 

The WebScriptCallbackMBS class helps to handle such methods calls in JavaScript and redirects them to an event. In the Open event of the window, we add the WebFrameLoadDelegate to the HTMLViewer:

 

wui=new MyFrameEvents

web.InstallWebFrameLoadDelegateMBS wui

 

We need to subclass WebFrameLoadDelegateMBS in order to catch the windowScriptObjectAvailable event and add our MyBrowser object to the JavaScript name space:

 

Class MyFrameEvents Inherits WebFrameLoadDelegateMBS

EventHandler Function windowScriptObjectAvailable(windowScriptObject as WebScriptObjectMBS) As boolean

// Install an Object called "MyBrowser" on the javascript document object

// Any function call inside will tricker callback event

windowScriptObject.setWebScriptCallback "MyBrowser", app.callback

End EventHandler

End Class

 

Next we need to subclass WebScriptCallbackMBS class and fill the Callback event and do whatever our method should do:

 

Class MyScriptCallback Inherits WebScriptCallbackMBS

EventHandler Function Callback(Name as string) As variant

System.DebugLog "Function: "+name

Select case name

case "MsgBox"

MsgBox me.ArgumentValue(0)

case "PrintDialog"

call MainWindow.web.PrintDialogMBS

case "SetText"

MainWindow.Output.text=ArgumentValue(0)

end Select

End EventHandler

End Class 

 

As you our event can be called giving the name of the method called and the parameters can be queried via ArgumentValue function. The JavaScript call looks like this:

 

MyBrowser.SetText('Hello');

 

Sadly we can't provide the same for Windows so far. But Mac this is great already.


Xojo meetings in Arizona

As you know I come to attend the FileMaker DevCon 2017 in Phoenix, Arizona.

As I stay a few extra days in Phoenix, we will have two Xojo developer meetings:

22nd July 2017 in a restaurant near Phoenix.
28th July 2017 in a restaurant near Tucson.

I know I have over 20 Xojo developers using my plugins in Phoenix alone.
If you like to join, please contact me soon.

I reserve a table in a nice restaurant and I will be there. You can join and we can shop talk all night. Ask me plugin questions, bring your laptop and show projects.
And of course we discuss latest changes in Xojo, upcoming conferences and what's new in plugins.

Using MBS Plugin with FileMaker iOS SDK

As some new people play with FileMaker's iOS SDK and our MBS Plugin, here a few steps to give you an easier start:
  • Get iOSAppSDKPackage_16.0.1.tbz on the iOS App SDK webpage from FileMaker's community benefits.
  • Unpack the archive.
  • Open Terminal, cd to the folder of the app sdk. For me this command line:

    cd /Users/cs/Desktop/iOSAppSDKPackage_16.0.1
  • Run the makeprojdir command giving a folder name, the app name and the identifier:

    ./makeprojdir test test de.monkeybreadsoftware.test

    Of course you use your own names and bundle id.
  • Open test project in Xcode
  • In the target popup menu you can select a simulated device and when you run the app. The section for installed plugins will be empty.
Congratulations, now the app should run in simulator!
If you have trouble till here, maybe you review the iOS App SDK 16 Guide.
  • Now you can drag & drop the plugin into the plugins section in the Xcode project right in the Custom Application Resources folder.
  • Run the app again and it should show the plugin listed with version.
Now you can use the plugin in your scripts for the solution and test in the simulator.
If the plugin is not visible, please check logs and see if some error occurred. Please use MBS("Trace") command to write all plugin calls to the log in Xcode, so you spot errors easier.
  • Next you can change target to be your iPhone and run the app on the iPhone. This may need some code signing things and an Apple ID registered for developing.
  • Go to build settings and assign a Team for the code signing. Xcode can do the rest, at least for me.
  • Once this is set the app can build and run on your iPhone.
Now screen shut look like the screenshot on the right side.
  • Next step is to build for archive.
  • This gives you the build app with symbol file (for debugging) and an "Upload to App Store" button, if that is your destination.
  • Well, the creation of the ipa file to distribute will succeed.
  • But for the App Store, you will run into issues: fmplugin files are not supposed to be there.
Anyway, when you distribute your app via Mobile Device Management, you just need the app file or the ipa archive.
You may want to split our plugin into an arm only version for distribution to save some space.
Enjoy FileMaker on iOS with MBS Plugin!

OmegaBundle final extension

The OmegaBundle.net will finally end 4th July 2017.
After two extensions it must come to an end and if you missed all the announcements, we finally need to say: sorry.



Get your copy now on OmegaBundle.net.

We used Claris FileMaker Pro 3

While cleaning up the attic I found this package.

Which nicely proofs that we used to use FileMaker a long time ago. So somewhere 1996/1997 we bought Claris FileMaker Pro 3 and used it with a little database to track some inventory.
I do remember seeing the typical record navigation controls in several apps over the years and those may have been FileMaker runtimes.

When we started making FileMaker plugins in 2006, we got FileMaker Pro Advanced in version 8.5.

So how long ago are your roots to using FileMaker?

At FileMaker conferences I met people who started with FileMaker Pro 1.0 or even before with Nutshell.

And even if you needed to convert your database a few times, there could be solutions which run the last 30 years with FileMaker. That's a long time in computer history!

MBS Xojo Plugins, version 17.3pr3

New in this prerelease of the 17.3 plugins: Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 7.3pr3

New in this prerelease of the 7.3 MBS FileMaker Plugin: Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

XojoTalk podcast 2^5

The XojoTalk podcast just got it's pow(2,5)th 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
  11. The forum is my personal training ground with Tim Hare 
  12. Shipping is a feature with Paul Levine 
  13. Hockey Programmer with Mike Cotrone 
  14. Software Maniacs with Ken Whitaker 
  15. Type my password like an animal with Justin Elliott
  16. Magical Toolkit with Craig Boyd
  17. I Keep My Secrets to Myself with Bruno Frechette and Jonanthan Guillemette 
  18. Not The Pi You Eat with Geoff Perlman 
  19. Ghost Touches with Geoff Perlman 
  20. Spoiler Alert with Bob Keeney and Marc Zeedar 
  21. Enterprise Consulting with Arthur Couture and Tom Rupprecht 
  22. I Like Things That Just Work with Tim Parnell
  23. Take a Walk with Michel Bujardet 
  24. Figure out stuff on my own with Kimball Larsen 
  25. Toughest thing is the substitutions with Jim Meyer 
  26. Happened by Accident with Tom Catchesides
  27. Database Goddess with Carol Keeney 
  28. Email is Not a Project Management Tool with Susan Fennema 
  29. I Went to High School with the Apple File System Guy with Tim Dietrich 
  30. We Like Our Customers with Geoff Perlman 
  31. Virtual Office Rules with Dana Brown and Alyssa Foley
  32. Copy, Paste, Search and Replace with Terry Eutsler
Subscribe at iTunes or to RSS Feed

Image Picker for FileMaker iOS SDK apps with MBS Plugin

Another function set for iOS is done: ImagePicker. It allows you to pick photos from the saved camera roll, the photo library and take a new picture via camera. You can control a lot of settings, e.g. whether to allow editing or which camera (front or rear) to use.

In all cases we call a script trigger later when the user selected an image. There you can take the picture and add it to a container field in your database.

Here is the same script to show the picker. Source Type is for example "Camera":

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

Set Variable [ $r ; Value: MBS( "ImagePicker.IsSourceTypeAvailable"; $sourceType ) ] 

If [ $r ≠ 1 ] 

Show Custom Dialog [ "Can't pick picture." ; "The source " & $sourceType & " is not available." ] 

Exit Script [ Text Result: "failed" ] 

End If

Set Variable [ $r ; Value: MBS( "ImagePicker.New" ) ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.SetScript"; Get(FileName); "GotImage") ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.SetSourceType"; $sourceType) ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.SetAllowsEditing"; 1 ) ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.SetCameraCaptureMode"; "Photo" ) ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.SetCameraDevice"; "Front" ) ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.SetCameraFlashMode"; "Auto" ) ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.SetShowsCameraControls"; 1 ) ] 

Set Variable [ $r ; Value: MBS( "ImagePicker.Present") ] 

 

Later this script is called:
 

Set Variable [ $r ; Value: MBS( "ImagePicker.Dismiss" ) ] 

If [ Get(ScriptParameter) ≠ "Cancel" ] 

If [ MBS( "ImagePicker.HasMedia" ) ] 

New Record/Request

Set Variable [ $Image ; Value: MBS( "ImagePicker.MediaEditedImage"; "PNG") ] 

If [ IsEmpty ( $image ) ] 

Set Variable [ $Image ; Value: MBS( "ImagePicker.MediaOriginalImage"; "PNG") ] 

End If

Set Field [ ImagePicker::Picture ; $image ] 

Commit Records/Requests [ With dialog: Off ] 

End If

End If

 
As you see we dismiss the dialog and add the picture to a container. But of course more is possible, e.g. by taking a picture automatically.
We'll see what wonderful solutions you will build using our plugin!  See you at DevCon in Phoenix.

Virtual Xojo User Group - June 2017 Meeting Is Today

Just a reminder that the June VXUG meeting is today (June 15th) at 2:00 PM Eastern Time.

Today's presenters include:
  • Dana Brown, Xojo's Director of Marketing, who will give us an update on XDC 2018.
  • Tim Dietrich, who will demonstrate Aloe, a Xojo class and development methodology that can be used to create public Web sites using Xojo.
  • Wayne Golding of Axis Direct Ltd, who will give a presentation on using Xojo to develop Windows Service Apps.
We still have space available. If you haven't already signed up, and would like to attend, click here.

Frühbucherrabatt bis Samstag für die FileMaker Konferenz in Salzburg

In gerade mal vier Monaten startet die FileMaker Konferenz in Salzburg.
So langsam füllt sich die Konferenz und noch ein paar Tage gibt es den Frühbucherrabatt. (bis 17.6.)

Vom 12. bis 14. Oktober 2017 treffen sich wieder ca. 200 Teilnehmer im Pitter in Salzburg. Die deutschsprachige FileMaker Entwickler treffen sich um Neuigkeiten zu FileMaker zu erfahren, mit den Mitarbeitern von FileMaker in Kontakt zu kommen und um alte Freundschaften zu pflegen.



Bitte bald anmelden um ein Ticket zu bekommen. Die Konferenztickets und die Zimmer im Hotel Crowne Plaza Salzburg waren in den vorherigen Jahren schon vor der Konferenz ausverkauft.

Für die MBS Plugin Schulung am 11. Oktober sind noch Plätze frei. Nehmen sie sich einen Tag Zeit zu erfahren, was alles im MBS Plugin steckt, was dieses Jahr neu ist und probieren wir direkt einige Funktionen aus. Je nach den Wünschen der Teilnehmer bauen wir gerne neue Beispiele, die dann bestimmte Funktionen zeigen.

Playing with CoreML in Xojo

Thanks to the 64-bit debugger in Xojo 2017, we can now easily try 64-bit applications and that's a must as Apple's latest frameworks don't support 32-bit anymore.
So yesterday and today I worked on a test project including a Xojo plugin for CoreML framework. Here is my test project running:



While macOS 10.13 is not ready for a few months, we can already download the beta versions of macOS and Xcode and play with it. You can use a model quite easy as you see in the Core ML presentation from WWDC 2017. With just a few lines of code we load a model, setup source image and run it though the neural network to classify the picture. You can get sample models from Apple's Machine Learning website.

The plugin will be available later this year with the macOS release.

OmegaBundle 2017 ends on weekend

The OmegaBundle for Xojo including MBS Plugins is ending on the weekend:



If you plan to buy the bundle, please do it soon.

Social Postings using MBS Plugin in FileMaker iOS SDK app

While working on the MailComposer and MessageComposer functions, I also quickly added the SocialComposer functions for posting to Facebook, Twitter, SinaWeibo and TencentWeibo.



Screenshots are in German, but whatever localization you use, the dialog will look correct in your language.

For both you can check if service is configured for the user and show the panel with your message to send. You can define message text, add URLs and images from both container fields and image files on the device. The user can change text and press send. You get a script triggered when the user is finished.
We also have SocialRequest functions to post without showing a dialog and those do work on iOS now.

Will be soon available in next plugin version. Or email if you like to try today.

Plugin wishes for macOS 10.13 and iOS 11?

You may all be watching videos from WWDC and learn what's coming soon for macOS and iOS.

Now the are a lot of new APIs, but I'd like to know from you what you'd like to see in our plugins for Xojo and FileMaker.

Usually we provide lower level wrapper for Xojo to Apple's APIs for macOS with hiding all the threading issues from you and translating values from native Xojo types to the matching Foundation types. As there is currently no iOS plugin SDK for Xojo, we can't make all features available via declares.

For FileMaker we usually provide a much more higher level API to do selected things and provide plugin functions for both macOS and iOS.

If you have ideas and wishes, please email me. I'll keep a list and if we have a lot of wishes for a given API, I may give it some priority.

Send emails and messages in FileMaker iOS SDK Apps

We added new functions MessageComposer and MailComposer to create text messages and emails right in your FileMaker iOS SDK based applications with MBS FileMaker Plugin:



Screenshots are in German, but whatever localization you use, the dialog will look correct in any language.

For both you can check if sending is possible, show the panel with your message to send. You can define subject, body text and add several attachments. For emails we can use HTML text of course.
The user can change text and add more attachments of course.

Will be soon available in next plugin version. Or email if you like to try today.

Dash help archives for FileMaker

For browsing help files, the Dash application is very useful on Mac and iOS.
For Windows you can use the Zeal application.

Here you can click to launch Dash and install our plugin help: MBS FileMaker Plugin

You can download the archives manually on our website for FileMaker.

For FileMaker you find the docsets for v15 and v16 here in several languages: FileMaker Dash Docsets

Feedback is welcome.

Looking for speakers for XDC 2018

Xojo Inc. is looking for speakers for XDC 2018, the biggest Xojo conference in 2018 from April 25 to 27 in Denver, Colorado, USA:

We are looking for talented and passionate speakers to present at XDC 2018 in Denver, CO! In addition to the fame, becoming an XDC speaker gets you a 50% discount on conference registration!

If you are interested in presenting, please submit a proposal with your session topic(s) and brief description(s) (3-5 sentences), along with your full name and contact info (preferred email and phone number), to the XDC Conference Coordinator at dana@xojo.com. If you are interested in presenting, but not sure of a topic, please reach out to us and we can help you develop your session. The deadline to submit proposals is Friday, June 30, 2017.

Here are some tips on submitting a good session topic.

Still 20 days left to submit a proposal. Myself I can of course talk about what's new in MBS Plugins, or take about making plugins or maybe make a session about comparing what machine code the compiler creates with various options and Xojo versions.

MBS FileMaker Plugin, version 7.3pr2

New in this prerelease of the 7.3 MBS FileMaker Plugin: Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MBS Xojo Plugins, version 17.3pr2

New in this prerelease of the 17.3 plugins:
  • Improved key length handling for CipherMBS class. Init functions now report true on success and false on failure. Short keys are filled with zeros (as before), we report false in case of errors, but still may take reduced key (as before).
  • Updated SQLite to 3.19.3.
  • Fixed bug with DynaPDFMBS.ShowDifference and rotated pages.
  • Added QueryMT method for NetSNMPMBS class.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Developer Meeting in Nuremberg

On my next visit to Nuremberg, I'd love to make another developer meeting:

Wer hat Interesse an einem FileMaker & Xojo Entwicklertreffen im Juni in Nürnberg?

Einfach gemütlich zusammen sitzen und über Xojo und FileMaker Neuigkeiten, Konferenzen und die täglichen Probleme bei der Softwareentwicklung unterhalten.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Projekten. Einfach Computer mitbringen und was zeigen.

Wir treffen uns am 16. Juni 2018 in einem Biergarten in Nürnberg.
Bei Interesse bitte bei mir melden.

Save the date: MBS Xojo Developer Conference

The next MBS Xojo conference in Germany will be 6th/7th September 2018 in Munich.

We will have a great conference in the Maritim Hotel near the main station can offer us 50+ rooms as well as one or two conference rooms. If we have a lot of speakers and attendees, we could go two track!

We have blocked 100 rooms and offer an 122 Euro rate for the nights from 5th to 8th September including pool, breakfast and Wifi.
Nearby other hotels in the area offer rooms for less, down to 60 Euro/night.

Walking distance to center of city is just a few hundred meters. So you can walk to Hofbräuhaus, city hall and the famous historic buildings like palace Nymphenburg. And if you like to take a drive in the countryside, you are quickly down to the alps. e.g. take the train up on Wendelstein for a great view.

The schedule:

5th September 2018: Training Day in English for beginners and advanced
6th September 2018: First Conference Day
7th September 2018: Second Conference Day
8th September 2018: Training Day in German for beginners and advanced

We look forward the conference and plan to have get togethers on all evenings for having dinner together.

For the rest of the year, we look for attendees and speakers to sign up. If you have a good idea for a session in English, please send us your proposal.

Remote Notifications for FileMaker iOS SDK

First we are happy to report that this can work. Your FileMaker iOS SDK application can register for notifications and report you the device token. This device token is needed to send push notifications to the device. Push notifications can show a message to user, set the app badge or transfer data to the app.



First please review our documentation for the UNNotification functions. When you add the MBS Plugin to the project, please also add our MBSInit framework. You may need to split both to only include the arm versions in the final app to run on a device.

After your app launched on a device, you may be asked to allow notifications. This happens only if MBSInit framework is loaded and triggers the early initialization of our plugin. The function UNNotification.RemoteNotificationsDeviceToken returns you the device token as a long text with hex encoding. If something goes wrong, you get an empty text there and the function UNNotification.RemoteNotificationsError will give an error message, e.g. that this is not available in simulator.

You can check permissions with UNNotification.IsRegisteredForRemoteNotifications later. The new functions UNNotification.AuthorizationGranted and UNNotification.AuthorizationError let you know about whether you can work with notifications. But most likely you will check with UNNotification.NotificationSettings directly for what is available or allowed. The user can for example allow you badge changes, but not popups.

Let me know if you like to try this and need assistant. You should be able to get notifications to show messages to the user, launch the app and trigger scripts. Even the sending of notifications to devices should work via MBS Plugin by using CURL functions to talk to Apple's web service.

Austin Xojo Meetup in July - With Geoff Perlman & Others

We saw this announcement on the forum:

If you are near Austin or plan on coming to Austin - join the Austin-based Xojo team for lunch in July to talk Xojo and get to know other users in and around Texas! If you are interested in joining us - please reply to this survey so we can find the best date!


Great to see Xojo inc doing local meetings themselves. I have currently some planned for Nuremberg, Germany, Phoenix, USA and Netherlands.

Xojo Meeting in Netherlands

As I am traveling again towards Netherlands and again like to meet with Xojo developers.

Let's talk about Xojo, conferences, plugins and other programming topics.

Voting for meeting in Utrecht area: Survey
Voting for meeting in Haarlem area: Survey

Interested people can of course make an extra appointment with me for private consulting.

If you like, vote on both, so we know who can come and where we have more people.

MBS FileMaker Plugin, version 7.3pr1

New in this prerelease of the 7.3 MBS FileMaker Plugin:
  • Changed Audit.SetIgnoredFieldNames to accept list of field names.
  • Added support on iOS to load dynapdf.framework to use DynaPDF functions inside iOS SDK app.
  • Added EventMonitor.ClearCardWindow and EventMonitor.SetCardWindow to handle clicks outside a card window.
  • Creating barcode no longer changes locale settings.
  • Added Webview.SendCommand and Webview.ExecCommand.
  • Fixed bug with Encryption.Cipher to better handle longer keys (e.g. blowfish with up to 64 bytes) and invalid key lengths.
  • Added AVPlayer.FindPlayers function to access playing interactive containers on iOS.
  • Added AVPlayer.GetAsset function.
  • Added support for FileMaker 16 for WebView.Passwords.Install function.
  • Fixed crash when quitting runtime app. The register script step is missing in runtimes and so the plugin should not register/unregister script step.
  • Added parameter for QuickList.FindUnequals and List.FindUnequals to only return items from first list.
  • Changed SQL.GetFieldAsNumber and SQL.GetParamAsNumber to return numbers outside 32-bit integer as text.
  • Fixed plugin to load again on Windows XP. The registry functions broke it for 7.2.
  • Improved formula coloring in calculation dialog to handle better various quote characters.
  • Improved SNMP.Get function to report errors better.
  • Fixed a bug with Math.InsidePolygon.
  • Updated SQLite to 3.19.2.
  • Fixed issue for iOS where version number was too long. Now last digit is not included.
  • Changed variable check to allow special rules ending with $ to catch commands with variables.
  • Changed variable check to accept comments declaring variables with @param: # @param $firstName The first name parameter.
  • Fixed FileDialog.GetNameFieldStringValue function to provide name from dialog.
  • Added Linux support for SNMP.Get.
  • Fixed bug where variable detection would not handle variable containing ~ correct.
  • Changed syntax coloring to not highlight text of comments.
  • Changed AVAsset.OpenContainer to accept wav files.
  • Added IgnoreDuplicates parameter to SQL.InsertRecords functions to ignore duplicate error on insert.
  • Reduced memory consumption for email sending, so you can now queue 1000+ emails.
  • Updated discount library to version 2.2.2
  • Added Text.Speak and Text.Speak.AvailableVoices for iOS.
  • Updated to DynaPDF 4.0.11.29.
  • Added UUID mode for Audit. Call Audit.SetUUIDField please to enable.
  • Added PHP.IsInitialized function.
  • The Notification functions on Mac can now pass JSON payload.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MBS Xojo Plugins, version 17.3pr1

New in this prerelease of the 17.3 plugins:
  • Creating barcode no longer changes locale settings.
  • Added kCFBundleDisplayNameKey to CFBundleMBS class.
  • Improved key length handling for CipherMBS class.
  • Added boolean result to CipherInit, EncryptInit and DecryptInit.
  • Marked CalCalendarMBS class to be console safe.
  • Added developerExtrasEnabled, javaEnabled, javaScriptCanOpenWindowsAutomatically, javaScriptEnabled, loadsImagesAutomatically, minimumFontSize and plugInsEnabled properties for WKWebViewControlMBS control.
  • Added RemoveTouchBarFromWindow and RemoveTouchBarFromApp for NSTouchBarMBS class.
  • Fixed StringHandleMBS bug on Linux.
  • Updated SQLite to 3.19.2.
  • Added NetSNMPMBS class.
  • Reduced memory consumption for email sending, so you can now queue 1000+ emails.
  • Added DynaPDF methods for Metafile conversion (EMF/WMF)
  • Zooming in script workspace can now be triggered with Command and Plus/Minus keys.
  • Fixed problem where variable name check would complain about variable name being part of script name.
  • Remove debug messages from CIDetectorMBS class.
  • Updated to DynaPDF 4.0.11.29.
  • Fixed BitwiseXORStringBytesMBS to work better and faster in 64-bit.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

FileMaker 16 Card Window hacks with MBS Plugin

ThumbnailWe got a new video for you about our latest functions for FileMaker 16. While talking to other developers at dotfmp conference in Berlin, a few developers told me about the new card window feature in FileMaker 16 lacking a few details in functionality.

A quick check showed that a plugin could of course monitor mouse clicks and trigger a script if a click is done outside a given area. The new EventMonitor.SetCardWindow function allows you to define where the card is and which script to trigger in case of a click. This script can than clear the trigger with EventMonitor.ClearCardWindow and close the card.

Please try next week the new plugin and this feature and let me know how it works for you.

Windows Task Monitor written in Xojo

Today I had an interesting request for a task monitor written in Xojo to see how much CPU some processes need and to report when they are stuck (no CPU usage over longer time pointing to deadlock) or run at 100% for a long time. And of course to see if they go away due to crashes.



We use the WindowsWMIMBS class to query the Win32_PerfRawData_PerfProc_Process class. There we can query the current counter for processor usage and by getting total and last value calculate a percentage.

The example will be included in next prerelease.

dotfmp Session Proposals from me

As .fmp conference is all about sharing knowledge of things you know well, but others may not, let’s think about sessions, we could do later on this conference.

Here is a list of topics I could talk about if someone is interested:
  • MBS Plugin overview
  • MBS Plugin installation & getting started
  • MBS Plugin example walkthrough
  • Setting up and using Dash (or Zeal) application for help browsing
  • Build a plugin
  • Code signing apps for Mac, PC and iOS
  • Using plugins with iOS SDK
  • Using plugins with Linux / Cloud
  • Building iOS SDK apps
  • Live coding of a new function for MBS Plugin.
  • MBS vs. FM16 built in functions
  • Close look on some functions, e.g. CURL/JSON for REST web services
If a few people are interested, let’s schedule something.

Archives

Oct 2024
Sep 2024
Aug 2024
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