New in this prerelease of the 19.1 plugins:
- Added new methods to JavaVMMBS class to create Java arrays based on Xojo arrays.
- Added Value(index) methods to various Java array classes to set/get value easily.
- Added updateNamedRanges parameter for InsertCol, InsertRow, RemoveCol and RemoveRow in XLSheetMBS class.
- Changed Length in JavaStringMBS and JavaArrayMBS classes to be real properties and visible in debugger.
- Fixed MouseWheel event in OverlayMBS class to be called more often.
- Updated LibXL to version 3.8.5.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
Last minute we printed a flyer for
XDC to give away to attendees. Just a nice reminder to visit our
European Xojo Conference in Germany:
See you in Miami!
New in this prerelease of the 19.1 plugins:
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
If you plan to sign up and get the early bird price for your ticket, please sign up today.
Monkeybread Software is pleased to announce the
European MBS Xojo Conference in metropolitan Cologne, Germany. We meet in the lovely Dorint Hotel in the center of Cologne. The hotel is in the city center and in walking distance to the main station. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.
We already have 40 people coming from 10 different countries!
🇩🇪, 🇬🇧, 🇳🇱, 🇫🇷, 🇸🇪, 🇨🇭, 🇺🇸, 🇬🇷, 🇸🇮 & 🇦🇹.
The schedule:
Oct 23rd: Xojo Training in English
Oct 24th: Conference, first day with dinner event
Oct 25th: Conference, second day
Oct 26th: Xojo Training in German
Registration is open. The early bird offer available till 24th April is just 499 Euro plus VAT. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Dorint Hotel as well as an accompanying social program.
Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.
More details on the
conference website.
These days I do last final changes for my MBS session slides. Got a nice review of the past year since last XDC to show what's new in the plugins.
For people interested in PDF, we include a slide about the upcoming DynaPDF 5.0 release later this year and something new we are working on the plugin part for DynaPDF. So if you are interested in PDF, I hope you join the session. Unless schedule changes, the MBS session should be 2nd May @ 13 o'clock.
We are looking forward to see you all in Miami!
PS: Early bird offers for the
European Xojo Developer Conference ends this week. Join us in Cologne from 23rd to 26th October 2019 for conference and training days.
While we interact a lot with each other in your development community via forum, social media and tons of emails, we should not forget the importance of being in a live face-to-face setting with others. Being active in the developer community can bring many benefits. There is power in being connected to other developers who are active in the same area. It can be easy to skip meetings and not come to the annual conferences, but soon you may have skipped them for several years. Joining the forums is not enough, you need to be active and post regularly. But to build personal connections, you need to join the conferences and meet the persons behind the forum avatar.
(more)
New in this prerelease of the 19.1 plugins:
- Added Convert methods to JSONMBS to convert from/to Xojo Variant/Dictionary/Array.
- Added JSONMBS.IsInt64 property.
- Added PopupMenu function to ContinuityCameraMBS class.
- Added removeAllScheduledNotifications method to NSUserNotificationCenterMBS class.
- Added TextArea.WinAutoCorrectionMBS property.
- Added WinShowFontPanelMBS function for TextArea control to show standard font dialog on Windows.
- Added writeHEIFRepresentationOfImage and HEIFRepresentationOfImage methods to CIContextMBS class.
- Fixed a problem with DynaPDF parser and rendering some PDF.
- Fixed problem with rotateTemplate function in DynaPDFMBS and 180 degree.
- Improved 64-bit integer handling for JSON to avoid rounding errors with doubles.
- Improved performance for plugin functions accessing Xojo dictionaries.
- Rebuild DynaPDF without assert checks.
- Rewrote callback part for PortAudioStreamMBS class on MacOS and updated PortAudio example.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
We have some new functions for you related to the Windows standard font dialog.
For
FileMaker, the new
TextView.ShowFontPanel function can show the font dialog and let user change the font settings. For MacOS, the function will show the system font panel, which allows you to adjust font information asynchronously.
For
Xojo, the new TextArea.
WinShowFontPanelMBS function can show the font dialog for a text area. Please use
NSColorPanelMBS class and
NSTextViewMBS usesFontPanel property for MacOS. The panel floats and allows to change font information for current text area.
In both cases, the dialog shows with current font selection, than user can change them and the new font settings are applied to the current selection in the text.
Changes are coming to next prerelease of our FileMaker and Xojo Plugins. If you like to test today, please email us.
If you plan to sign up and get the early bird price for your ticket, please sign up soon.
Monkeybread Software is pleased to announce the
European MBS Xojo Conference in metropolitan Cologne, Germany. We meet in the lovely Dorint Hotel in the center of Cologne. The hotel is in the city center and in walking distance to the main station. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.
The schedule:
Oct 23rd: Xojo Training in English
Oct 24th: Conference, first day with dinner event
Oct 25th: Conference, second day
Oct 26th: Xojo Training in German
Registration is open. The early bird offer available till 24th April is just 499 Euro plus VAT. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Dorint Hotel as well as an accompanying social program.
Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.
More details on the
conference website.
As you may know we have a
JSONMBS class in our
MBS Xojo Util Plugin to work with JSON data. The class is optimized for best performance, but some people prefer to use native Xojo classes like dictionary for representing objects.
For the upcoming 19.2 release, we'll add new convert methods to our class. You can convert from Xojo objects to JSON and back. This involves using dictionaries for the objects and Xojo arrays for the arrays in JSON. As we don't know what is in the array, we use arrays of variants.
Convert(value as variant) as JSONMBS
This function checks what is in the variant and returns a matching
JSONMBS object. String, boolean, integers and doubles are just wrapped with
JSONMBS objects. Dictionaries are converted to JSON objects, but we only use text for the keys. Currency values are converted to double, colors to integers, dates and texts are converted to strings before processing them. We detect arrays of String, Object, Variant, Single, Double, Int32, Int64, Boolean and Currency and convert them to JSON arrays. Anything else can raise an exception about an unsupported type.
Convert as Variant
The counter-part function on the
JSONMBS class returns the varisant matching whatever is in the JSON data. The plugin will create arrays of variant, dictionaries and values (string, double, int64, boolean and nil).
Performance on the new methods should be as good as Xojo.Core.Use
Xojo.Data.ParseJSON and
Xojo.Data.GenerateJSON functions in the Xojo runtime. But as we use
Variant/
String/
Dictionary and not
Auto/
Text/
Xojo.Core.Dictionary, this may be an interesting alternative for you?
If you like to try the new methods, please email us or wait for next prerelease.
We try to make memory leak free plugins. That is difficult and may even be impossible to do 100%. But we try our best and if you find a memory leak, please let us know.
Especially for server applications running a long time, a leak can bring down a server. If you just leak 5 KB per second on a server script, this may be over 2 GB in a week ending up in swap storage. If it's slow enough, it will fill your server's disk with swap files, but if it leaks fast, it will also hit performance a lot!
We do static analyses on our source code to find leaks. We do use C++ classes to automatically free memory when they are released, e.g. on function end. And we use NSAutoreleasePools on Mac to collect objects and release later. We try to get memory management right and automatically get there. But there may always be things not found by us.
A memory leak you report should be reproduced in a small script/method, which can be run several times. First call my do initialization steps and trigger some framework initialization, but any subsequent call should result in a higher memory usage each time. This method may have a loop to the relevant steps a 1000 times to make it a significant leak. On the end, you should have leaked a few Megabytes, so we can look for big objects not freed or thousands of small objects of the same type. Make sure you do all the release/free calls as provided by the plugin.
Due to memory management, memory is allocated in chunks. Memory is freed with delay, so you may need a short pause for memory pools to be cleared. So two or three runs may allocate the chunks
A lot of frameworks we use do leak themselves. e.g. Cocoa framework on Mac has a lot of small leaks. So in general we are not really looking for leaks which just leak a few kilobytes every few minutes. Watching a Cocoa app in Instruments we see a lot of small leaks. We prefer to fix the leaks in our code!
Xojo, Inc just announced the release of their new version Xojo 2019 Release 1. You can
download it on the website.
It includes over 200 improvements, such as:
- Significant improvements to performance of Layout Editor, especially with web projects
- The free Xojo Pi license now lets you build for Console and Desktop
- Improvements to URLConnection: SendSync now works with threads, added a new HTTPStatus property, URLConnection also now appears in Library for desktop projects
- 32-bit Windows builds use OS app manifest
- Spell checking now also supported in TextArea on Linux
- Dynamic Constants are now referred to as Localized Strings
- General AutoComplete improvements
The complete list of improvements in Xojo 2019 Release 1 can be found in the
release notes.
As usual a good mix of a few new features and lots of bug fixes. We are looking forward to XDC to see what big features they are working on.
For me an important change is the buffer size on SSLSocket, which has been increased to 256K instead of tiny 8 kilo bytes. The annoying GTK+ warnings are also gone. What is your favorite new thing?
See also
Xojo 2019 R1 review by Bob Keeney.
PS: MBS Xojo Plugins in version 19.1 are working perfectly with the new Xojo version.
With the new Continuity camera feature in MacOS Mojave and your iOS device, you can scan documents:
So you place the document on a table, you start the process on your Mac and than you take the iOS device to take a picture. The yellow area shows where the document is recognized, so you can scan it. iOS will do the crop and rectify steps and store the document as PDF. I needed, you can add more pages.
We'll also offer the possibility to show the popup menu with all options including selecting device for more than one of them. Screenshot is in German, but the texts are actually localized to your language.
New in this prerelease of the 19.1 plugins:
- Fixed Date constructor call in plugin to produce dates (Broken in pr1).
- Added ContinuityCameraMBS class.
- Updated DynaPDF to version 4.0.27.78.
- Changed WordFileMBS class to also handle OpenDocument text files.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
As you may know there is a feature in MacOS Mojave called Continuity Camera. When an application shows a view which accepts services bringing in photos, you may receive photos from your iPhone. So when you are in TextEdit application, you can use contextual menu on the text area and choose Insert Photo from your phone. The iPhone asks you to shoot a photo and the image file gets transported back and inserted into the text view on your Mac.
In Xojo, you run a method calling Import command on our new
ContinuityCameraMBS class and you get this dialog:
Or you let the user select it from the localized context menu entries.
Once the image is captured, you get a method called via delegate, where you can process the result. e.g. we show the picture right into the window of our example project.
As an option, you can ask for a document. You get a similar window on your Mac, but iOS will ask you to scan for document pages. Multiply pages are put together into a PDF document.
Coming soon for MBS Plugin 19.2. Please contact us if you like to try today.
If you plan to sign up and get the early bird price for your ticket, please sign up soon.
Monkeybread Software is pleased to announce the
European MBS Xojo Conference in metropolitan Cologne, Germany. We meet in the lovely Dorint Hotel in the center of Cologne. The hotel is in the city center and in walking distance to the main station. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.
To give you an update, we have already over 30 attendees signed up, we got a few sessions already confirmed and listed on the website. A few more potential sessions are not yet confirmed. We are still looking for your developers to apply for a free ticket. If you like to join the conference and get the early bird ticket pricing, please sign up soon. If you like to speak, please send a proposal soon and please sign up for the conference soon. As of today we have people from eight countries already signed up.
The schedule:
Oct 23rd: Xojo Training in English
Oct 24th: Conference, first day with dinner event
Oct 25th: Conference, second day
Oct 26th: Xojo Training in German
Registration is open. The early bird offer available till 24th April is just 499 Euro plus VAT. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Dorint Hotel as well as an accompanying social program.
Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.
More details on the
conference website.
Due to WWDC, I'll come for a visit to California in June. As usual I like to meet other developers beside the visited conference and like to organize a few meetings for local Xojo developers.
Event cancelled.
If you are interested in private time for consulting, training or discussion MBS or Xojo topics, we can of course schedule a meeting. Please contact me directly interested.
New in this prerelease of the 19.1 plugins:
- Added 12 more methods to StringHandleMBS class.
- Added AcceptTabs property for NSDatePickerControlMBS control.
- Added asInt32, asInteger, asInt64, asUInt32 to SQLValueReadMBS class.
- Added ASIOGetSampleRate function for PortAudioMBS class.
- Added check for AddHeader in CURLEmailMBS class to make sure a double colon is included.
- Added copy function to UNNotificationAttachmentMBS class.
- Added FindGCD function to LargeNumberMBS class.
- Added MKCustomAnnotationMBS class.
- Added MKCustomOverlayMBS and MKCustomOverlayRendererMBS classes.
- Added nil object check for SQLCommandMBS.ExecuteMT and similar functions.
- Added setAsInt32, setAsInt64, setAsInteger, setAsUInt32 to SQLValueMBS class.
- Added SQLiteInMemory constant to SQLDatabaseMBS and SQLConnectionMBS classes.
- Added WindowsListMBS.ActivateWindow and window.ActivateWindowMBS methods for Windows to bring a window to front.
- Changed ChartDirector and SQL Plugin to accept licenses for up to 5 years in future instead of 3 years.
- Changed NetworkTimeOut and TimeOut in LDAPMBS class to be double value with seconds.
- Changed SQL Plugin to not complain about missing functions with freetds.
- Changed SQLCommandMBS class to clear SQLFieldMBS and SQLParamMBS objects from it in destructor. If you access them later, you'll get SQLNotInitializedExceptionMBS exception.
- Changed SQLConnectionMBS/SQLDatabaseMBS to pass more options to SQLCommandMBS for MS SQL: SQL_ATTR_CURSOR_TYPE, SQL_ATTR_QUERY_TIMEOUT, SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_SCROLLABLE and SQL_ATTR_CURSOR_SENSITIVITY.
- Changed SQLDatabaseMBS.Client and SQLConnectionMBS.Client to raise exception if client is out of range.
- Deprecated the Shell function on InternalSQLiteLibraryMBS class.
- Fixed a problem with NTML authentication with CURL functions on Windows.
- Fixed an issue with AutoCache in SQL Plugin preventing MovePrev method to work correctly.
- Fixed an issue with DynaPDFImageMBS.PictureData not working.
- Fixed bug in JSON generation for NULL strings.
- Fixed bug with custom markers and WordFileMBS class.
- Fixed bug with exception handling for SQLCommandMBS.ExecuteMT method.
- Fixed issue with piModelNames, piRevisionNames, piMakerNames in WiringPiMBS module.
- Fixed memory leak in CURLSURLMBS class.
- Implemented Application.FrontmostMBS property for Windows.
- Implemented NSImage to Picture conversion for console project on MacOS. This makes e.g. folderitem.IconImageMBS function working.
- Manually applied CURL fix: vauth/oauth2: Fix OAUTHBEARER token generation #3377
- Manually applied NTML fix for CURL.
- Reverted change from 19.1 about DrawCGPDFDocumentMBS to use newer API as the functionality is not identical.
- Rewrote Caching for SQL Plugin to use much less memory.
- Rewrote conversion between Xojo Date and NSDate class for Cocoa to handle time zones.
- Updated CURL to version 7.64.1.
- Updated DynaPDF to version 4.0.27.77.
- Upgraded CubeSQL SDK to version 5.7.3.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.