Today we visited Festung Ehrenbreitstein, the fortress in Koblenz, a nice place for a dinner event at our Xojo conference.
Will be nice with going up by cable car, welcome with fortress beer, guided tour and show with cannoneer, buffet dinner and there will even be a live public concert there that night!
Some pictures:
We plan a local Xojo meeting in
Wiesbaden:
14th May 2014, from 19 to 22 o'clock
4D Consulting, Scharnhorststrasse 36, 65195 Wiesbaden.
Topics are current Xojo version and last Xojo conference.
We'd be happy to meet you there if you have time to join us.

A few minutes ago I uploaded
IP in menubar in version 4.4 to our website.
Changes in Version 4.4:
- Updated for Retina.
- Code signed.
More details on the website for
IP in menubar

We have this year conference and trainings in both German and English available:
Maybe you want to join one of our events?
If you have questions, please do not hesitate to contact us.
PS: Please note that Konstanz is a city south in Germany close to Swiss border next to the Bodensee, a big lake. Koblenz is located in west Germany at the river rhine somewhere between Frankfurt and Colonge.

I wrote about he problem before:
Security Hole in every Xojo / RealStudio app
For me it's an annoying problem. Every few weeks, I have a client with trouble related to this. Apps restored from backup or merged with a bad installer sometimes have older and newer dylibs from different plugins versions. There are a ton of reasons why people end up with a situation where we have extra dylibs and those cause problems.
Feedback cases 30401 and 2089 ask for improvements in that direction.
If you like to play, we have something for you: A little msgbox plugin will show a msgbox when you drop it into the Frameworks folder of a Xojo made app. This even works for the Xojo IDE itself.
Download test plugin:
msgboxplugin.zip

New in this prerelease of the 14.2 plugins:
- Added more WebPreferencesMBS properties.
- Added barcode functions to write SVG/Postscript files.
- Added QTTrackMBS.FileAlias function.
- Added NSServiceProviderMBS class (to handle Mac OS X Services in Cocoa apps).
- Added MaxMBS and MinMBS functions to MemoryBlock class.
- Updated CURL to version 7.36.0
- Added CIImageMBS and CGImageMBS functions to retain/release and query retaincount.
- Warning: CIImageMBS.RenderPicture leaks on Mac OS X 10.9 currently. Looks like a leak in Apple's code.
- Fixed bug in CURL's SetOptionHTTPHeader function when passing array with empty strings.
- Fixed DatabaseRecord.BooleanColumn with using SQLDatabaseMBS.InsertRecord method.
- Changed properties currentTime and numberOfLoops to be settable in AVAudioPlayerMBS class.
- Improved internal string access to avoid extra conversion if text encoding is undefined.
- Added movie.GWorldHandleMBS property.
- Updated XCode to version 5.1.1 and rebuild everything.
- Changed SQLCommandMBS.Fields to return dates correctly in the dictionary.
- Changed properties in SQLConnectionMBS and SQLDatabaseMBS to not change error code in debugging, so you can see right error messages in debugger.
- Fixed possible crash with invalid zxingResultMBS object.
- Added more events to NSColorPanelMBS class.
- Added example for accessing files with secured bookmarks in sandboxed apps.
- Fixed bug in CFBookmarkMBS module with CFURL.
- Fixed bug in SHA512MBS.HashText.
- Added recursive parameter for NSViewMBS.subviews.
- Deprecated DNSServiceDiscoveryDomainEnumerationMBS, DNSServiceDiscoveryBrowseMBS, DNSServiceDiscoveryResolveMBS and DNSServiceDiscoveryRegisterMBS. They'll be removed once we go to 64bit. Use DNSServiceBaseMBS and subclasses instead.
- Fixed crash in DNSServiceBaseMBS destructor.
- Fixed memory leak in CIContextMBS constructor taking picture.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
We update CURL to version 7.36.0. The current feature matrix is:
| Mac OS X | Windows | Linux |
dict | yes | yes | yes |
file | yes | yes | yes |
ftp | yes | yes | yes |
ftps | yes | yes | yes |
gopher | yes | yes | yes |
http | yes | yes | yes |
https | yes | yes | yes |
imap | yes | yes | yes |
imaps | yes | yes | yes |
ldap | yes | yes | yes |
ldaps | yes | no | yes |
pop3 | yes | yes | yes |
pop3s | yes | yes | yes |
rtsp | yes | yes | yes |
scp | yes | yes | yes |
sftp | yes | yes | yes |
smtp | yes | yes | yes |
smtps | yes | yes | yes |
telnet | yes | yes | yes |
tftp | yes | yes | yes |
Supports async DNS | no | yes | no |
Supports GSS negotiate | no | no | no |
Supports IDN | no | no | yes |
Supports IPv6 | yes | yes | yes |
Supports Kerberos 4 | no | no | no |
Supports large files | yes | yes | yes |
Supports LibZ | yes | yes | yes |
Supports NTLM | yes | yes | yes |
Supports SPNEGO | no | yes | no |
Supports SSL | yes | yes | yes |
Supports SSPI | no | no | no |
If you need a feature listed here with no, please contact us.
Next week I visit clients in Bremen, so how about having a xojo meeting for dinner?
Here is a survey for best time/date:
doodle.com/dg5ef36hr7xh6qu5
If we have a couple of people interested, we can look for a meeting place and reserve a table.
Topics can be Xojo Release 2014r1, MBS Plugins and of course the conferences.

New in this prerelease of the 14.2 plugins:
- Updated to OpenSSL 1.0.1g.
- Added JoinDataMBS and JoinStringMBS functions.
- Added NSBitmapImageRepMBS.imageRepWithCGImage function and remove constructor taking CGImage.
- Improved StringHandleMBS class to avoid crashes in low memory situation. Now raises OutOfMemoryException.
- Changed Commit/Rollback on SQLDatabaseMBS class to do commit.
- Changed NSNotificationMBS to have more properties instead of methods.
- Added IKImageBrowserViewControlMBS control.
- Fixed DynaPDFMBS functions to handle color correct without swapping red and blue: HighlightOnAllPages, HighlightOnCurrentPage, SetFillColor and SetStrokeColor.
- Fixed problem in EncodeToHTMLMBS function.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
You may not like the idea of such a bundle, but it seems like the
MacHeist bundle may give us another 10000+ people with Xojo licenses.
If you need one, get the bundle. Maybe cheaper for some than an update, or if your license expired a good way to get a new one.
(and a second license would give you a second account and more voting power on the Feedback app)
I already got one and recommended it to a couple of friends. For $20 instead of $300, this is a good chance to take a look into Xojo.
PS: And remember: Even for a Mac bundle, a Desktop license covers Mac, Windows and Linux.

Today I had a job with XojoScript and wanted to have a textual message for the error.
So I joined some information from the documentation and the xojoscript plugin's interface to build a list of errors and their documented error message.
The function looks like this and I think it's very useful:
Function ErrorToText(error as XojoScript.Errors) As string
Select case error
case xojoscript.Errors.Syntax
// 1
return "Syntax does not make sense."
case xojoscript.Errors.TypeMismatch
// 2
return "Type mismatch."
case xojoscript.Errors.ParserStackOverflow
// 5
return "The parser's internal stack has overflowed."
case xojoscript.Errors.TooManyParameters
// 6
return "Too many parameters for this function."
case xojoscript.Errors.NotEnoughParameters
// 7
return "Not enough parameters for this function call."
...
end Select
End Function
Download includes enumerations, text from wiki and the complete function:
errordetails.zip
For the
Xojo journal I wrote a few comments to the last plugin release. Maybe you missed them:
When Mac OS X 10.8 was released, I checked what is new and maybe worth to make a plugin. So I found new frameworks like EventKit, Social and Accounts and made plugins for them. But half way I tried them and noticed that they are 64bit only. Now with 10.9 I checked again and found the MapKit framework from Apple to be 64bit only. As you may know the 64bit support in Xojo will come not before Q1/2015.
Luckily I found an open source MapKit framework which replicates the APIs from Apple, but uses Google's service. That's fine for me as I can later add a switch to use either 64bit Apple framework or the open source framework with Google. So for now you can use maps in your Cocoa Mac apps with Google. Much better than simply loading maps in htmlviewer.
When Xojo cloud was released I was curious to see what apps run on the server. As you may know we have no shell access, so I needed a plugin to check for me what is running. And voilá we got a new LinuxProcessMBS class to list the processes and some details.
The reason for the new proxy functions is simple: Some admins in big companies want to have all traffic go through proxies and use PAC files to define what goes through proxy and what direct. Now I never understood while we should use a proxy like this. If they'd use a transparent proxy, no configuration would be needed at all and they could still filter content and monitor what people do in the office.
But to allow Xojo made apps to use proxy configuration scripts, we added classes for Mac and Windows. They provide details on the configured proxy for the system and also help with running those javascript code in PAC files.
In the SQL plugin we got improvements every few months. This time we had a simple idea to fix an issue with prepared statement parameters. Whenever the SQL changes with a new additional parameter, the indexes would change. So now we can name those placeholders and fill them in bind command with names. That is very useful and less trouble for you and me.

New in this prerelease of the 14.2 plugins:
- Fixed several background tasks to execute events on main thread instead of a xojo thread. This should avoid ThreadAccessingUIException.
- Fixed a bug in NSApplicationDelegateMBS.restoreWindowWithIdentifier event handler.
- Updated XCode to version 5.1 and rebuild everything.
- Added NSXPCConnectionMBS, NSXPCListenerMBS and NSXPCListenerEndpointMBS classes.
- Fixed QTImporter so it initialize QuickTime internally and works again on Windows with Xojo 2014r1.
- Added tag property to CLGeocoderMBS methods and CLGeocodeCompletionHandlerMBS.Completed event.
- Improved GameKit plugin, so all tag parameters are now variants.
- Fixed CGImageMBS.CreateImageWithHandle.
- Added SQLNumericMBS.NumericWithCurrency and SQLNumericMBS.CurrencyValue.
- Updated DynaPDF library to version 3.0.32.88.
- Improved NSColorPanelMBS class.
- Fixed bugs in NSTextContainerMBS class.
- Added NSAlertMBS class.
- Changed our ThreadSafe functions for updating controls to detect if the window of the control was destroyed and not perform the command to avoid crashes.
- Added HTMLViewer.IEZoomMBS function.
- Deprecated BarcodeScannerMBS class. Please use newer zxing clases for that.
- Fixed CURLMBS OpenMTInputFile functions to handle huge files on Windows better (over 2 GB).
- Fixed CrashUglyMBS function.
- Fixed FormatDateMBS function.
- Fixed a crash with SANumericMBS constructor when passing empty string.
- Updated GraphicsMagick to version 1.3.19 for Mac/Linux.
- Added SQLDatabaseMBS and SQLConnectionMBS Scrollable properties to define if internal command objects are created for scrollable cursors. Default is true.
- Fixed a bug with SQL plugin's exception handling and executing SQL commands in background threads (MT methods).
- Added SQLNumericMBS shared methods to create SQLNumericMBS objects.
- Changed properties on SQLNumericMBS class to be settable.
- Updated LCMS2 library to version 2.6 final.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
Update: Recompiled as pr2 to fix some issues with registration.
For our German speaking customers, we offer training days:
Für unsere deutschsprachigen Xojo Entwickler bieten wir dieses Jahr auch wieder eine Schulung an. Am 22. und 23. Mai 2014 im Viva Hotel in Konstanz. Lernen Sie neues über Xojo kennen, vertiefen Sie ihre Kenntnisse und tauschen Sie sich mit anderen Entwicklern aus. Das genaue Schulungsprogramm hängt natürlich davon ab, ob iOS am Tag der Schulung verfügbar ist in Xojo und welche Wünsche die Teilnehmer haben. Bitte bringen Sie Ihre Fragen mit.
Herzlich sind Sie auch eingeladen am 22. Mai abends vorbei zu schauen zu einem Xojo Stammtisch.
Das Programm aktuell:
21. Mai
ab 18:00 Abend vorher, Gemütliches Beisammensein.
22. Mai
ab 9:00 Xojo
Schulung: Xojo Grundlagen für Einsteiger um Umsteiger.
ab 18:00 Xojo
Stammtisch. Jedermann ist herzlich willkommen andere Xojo Entwickler kennen zu lernen.
23. Mai
ab 9:00 Xojo
Schulung: Xojo für Fortgeschrittene
Treffen Sie andere Xojo bzw. Real Studio Entwickler und lernen Sie neues kennen aus Ihrer Lieblingsentwicklungsumgebung.
Für die Schulung haben wir folgende Themen im Angebot:
* Einführung in Xojo, Rundgang durch die Entwicklungsumgebung.
* Entwicklung einer Beispiel Anwendung mit Datenbank sowohl mit Desktop als auch für das Web.
* Programme ausliefern: Web Apps installieren, Build Scripte nutzen, Programme signieren.
* Anpassung von Web Anwendungen an Mobile Geräte.
* Client/Server Anwendungen entwickeln
* Falls iOS verfügbar ist bis zur Schulung: iOS App Einführung
* Und vieles mehr nach den Wünschen der Teilnehmer.
Mehr Informationen und Anmeldung auf unserer Webseite.
Die Veranstaltung findet statt, da sich schon einige Teilnehmer gefunden haben. Es sind aber noch einige Plätze frei.