Windows DLL Loading errors


When you try to load a DLL on Windows via our plugins, you may get back an error message on failure.

Error 126: The specified module could not be found.

You passed an invalid path to the DLL or you tried to load a DLL and it refers to another DLL, which could not be found. For example several DLLs belong together and they should all be in same folder, so Windows can find them. Or a Visual Studio Runtime DLL is missing for the version of the C runtime needed by this DLL.

You can use Dependency Walker application to figure out which DLL is missing.

Error 127: The specified procedure could not be found.

The DLL was loaded, but then an expected function was not found. This could happen if you load the wrong DLL, which doesn't have the functions at all. Or if you have an older DLL, which does not yet export the required function.

Error 193: This is not a valid Win32 application.

Either this is really not a DLL or you mixed 32 and 64bit platforms and got the wrong one. Please make sure you use 32-bit DLL for a 32-bit application and a 64-bit DLL for a 64-bit application.

Error 998: Invalid access to memory location.

The path passed may be invalid and cause a memory access error.

Error 1114: A dynamic link library (DLL) initialization routine failed.

The DLL got loaded, but the initialization routine returned an error message. This may happen with Visual C libraries, if you try to load more statically linked libraries, then you have handles available. Memory may be available, but some handles have a limited list and loading too many DLLs (over 500) can run into a limit.

Connect to Oracle via MBS Xojo SQL Plugin


We recently had a client asking how to connect to Oracle database with MBS Xojo SQL Plugin. So first install Instant Client. For that download it, unzip the folder and put it somewhere you like to have it, e.g. in a C:\Oracle folder. Next you need to add the folder to the PATH variable, so you go to My Computer -> Properties -> Advanced -> Environment Variables -> PATH and add in the list as first item the path to the folder with the instant client libraries, e.g. C:\Oracle\instantclient_19_3.

Now you can use SQLDatabaseMBS or SQLConnectionMBS classes to connect. You may need to specify the database connection string. As we use Oracle, it starts with "Oracle:", so SQLDatabaseMBS knows which driver to use. Next you specify hostname with optional port and service name in format <hostname>[:<port>][/<service_name>]. Please also set option with kOptionLibraryOracle constant to the path pointing to the DLL file. You can either use SetFileOption with folder item, Option() with file path or just let it away and the plugin will look for oci.dll itself. Here some example code:

Dim db As New SQLDatabaseMBS // where is the oci.dll library? Dim fa As FolderItem = GetFolderItem("C:\Oracle\instantclient_19_3\oci.dll", FolderItem.PathTypeNative) DB.SetFileOption(SQLConnectionMBS.kOptionLibraryOracle, fa) DB.DatabaseName = "Oracle:" + "localhost:1521/XE" DB.UserName = "zEPI" DB.Password = "root" if DB.Connect then MsgBox "We are connected. Server Version: " + db.ServerVersionString else MsgBox db.ErrorMessage end if
Please do not hesitate to contact us with your questions.

Under the Radar Podcast


Once again Xojo Inc. sponsors an episode of the Under the Radar podcast.

Originally pointed to by Paul Lefebvre's tweet, I quickly subscribed as they talk about various topics for independent app developers and those episodes are very interesting. They face similar issues as myself and so I like to hear their solutions.

Thanks to David Smith and Marco Arment for their apps and the podcast.

Thanks to Xojo Inc. for supporting the shows.

Do you like this podcast? Or any other good podcasts not to miss?

Combine PDFs 5.4


Monkeybread Software today is proud to announce Combine PDFs 5.4, an update to their popular PDF merge and split tool for Mac OS. With a focus on ease-of-use, Combine PDFs is a lightweight utility which allows anyone to merge PDF files and images into a single PDF file. The user need only drag & drop files onto the program icon. The main window appears, allowing the user to set the order in which the files are joined.

Changes in Version 5.4:
  • Requires MacOS 10.10 or newer.
  • Upgraded to Xojo 2019r1 for dark mode support.
  • Notarized.
Combine PDFs Website

Requires MacOS 10.10 or newer for 64-bit. Older 32-bit version stays available and still works very well.

This application is made with Xojo 2019r1.

MBS Xojo Plugins, version 19.4pr2


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

Vision Framework for Xojo


For the next MBS Xojo Plugins, we worked on including the Vision framework from Apple. Our new vision plugin part (in MacFrameworks) covers the whole framework with all 49 classes and one module for globals. We even include the new features coming with MacOS 10.15 Catalina release. All functions can be used asynchronously with delegates for the callbacks. The plugin makes sure those callbacks execute on main thread to avoid threading issues in Xojo.

The Vision framework performs face and face landmark detection, text detection, barcode recognition, image registration, and general feature tracking. Vision also allows the use of custom Core ML models for tasks like classification or object detection.

With Catalina you also get classification, text recognition, attention and object based saliency, animal and human detection.

You can read Apple's documentation here.

Here our new classes:
A few examples are in the make, but please let us know what you'd like to see.

Find Xojo Consultants and Jobs


Looking for someone to hire?

Please visit the Find a Developer website on Xojo.com to submit a job offer or a consultation request. Your job offer is forwarded to a list of Xojo developers, who may contact you for details and make an offer to help.

Looking for work?

If you are professionally working with Xojo as a development tool, you probably already have a Xojo Pro license. With that license comes access to a special forum section for consulting leads, where the requests from the find a developer form above are posted as well as any direct inquires to Xojo's customer support.

An official Xojo Consultants list

We made recently the case in Feedback for an official Xojo consultants list. See Feedback Case 55135. We see the benefits of the FileMaker Business Alliance and would enjoy a similar program for Xojo to increase visibility of the thousands of Xojo developers out there. We tried ourselves to make such a list for Germany, but it needs to be integrated with the Xojo website and accounts.

For example it could be that there is a checkbox in the Xojo account to request being listed on a consulting list, just like the checkbox for the beta program. Xojo Inc. could ask you to provide details for a listing if they accept your wish. By making it dependent on having an active Pro license, they could make sure you can serve all customers as you can use all product features. It may be a good idea to ask for an example of your work to see if you are indeed doing development on a professional level. And if you quit Xojo and stop updating your license, you would automatically be delisted. Great way to avoid having outdated entries in the list.

If you check the FBA requirements, you may see that beside the fee to pay and having a postal address, you need to be one year in business, show customer references and show a sample of custom app work. In the FBA program, you can improve your listing with taking the certification test, but that may be a different topic for Xojo.

One month left for early bird offer to Xojo Developer Conference 2020


Just one month left for the early bird offer to XOJO.CONNECT event hosted by Xojo Inc.
Tickets are available for $799 USD till 15th September 2019.



It will be held March 25-27, 2020 in Nashville, TN at the Sheraton Music City Hotel. Registration is currently $200 off full price till 15th Sep 2019 ($799 instead of $999). Please sign up early to get the best deal.

Check out our conference highlights video if you want to see what it's like - or ask one of the many attendees from the forum!

Looking for a conference this year? Join the European Xojo Conference 2019 in Cologne, October 24-25th.

CURL Up 2020


The CURL conference for 2020 is announced:

curl up 2020 will take place in Berlin, Germany in mid May.

When: May 9-10, 2020
Where: Berlin, Germany
Venue: Co.up Community

Anyone interested in the CURL project is welcome to join the conference!
For details, please check the website.

Maybe we can arrange some developer meeting with our Xojo and FileMaker clients, too?

MBS Xojo Plugins, version 19.4pr1


New in this prerelease of the 19.4 plugins:
  • Improvements for next Xojo version.
  • Implemented own FSRef/FSSpec conversion for Xojo 2019r2 to use older code paths, e.g. for our ResourceFork class for Mac 32-bit.
  • Fixed a crash with DarwinGroupMBS when using UserName function with negative index and a crash with too small array allocated internally.
  • Deprecated CarbonEventsScrapMBS, CarbonApplicationEventsMBS and CarbonWindowsEventsMBS classes.
  • Fixed crash with nil folderItem passed to Read, Constructor or Ping methods in GMImageMBS class.
  • Upgraded KindMBS method in FolderItem class to use newer API.
  • Fixed problem with LaunchServicesFindApplicationForInfoMBS function.
  • Deprecated ApplicationFileMBS and ApplicationCreatorCodeMBS in Application class.
  • Duplicated some Application class extension to ConsoleApplication class.
  • Fixed TextArea.RTFDataMBS declaration for console app.
  • Changed to Application extensions for Xojo 2019r2.
  • Fixed declaration for WinSendMessage in RemoteControlMBS module.
  • Added more constants to NSAppearanceMBS class.
  • Renamed BindedValues and BindedTypes properties in SQLPreparedStatements to BoundValues and BoundTypes.
  • Fixed a problem with loading LDAP.framework on Mac for use in CURL.
  • Added CACertFile property for LDAPMBS class.
  • Rewrote VolumeSizeKBMBS and VolumeSizeMBS for FolderItem class to use newer APIs on MacOS.
  • Added NativePath property to FolderItem for Real Studio.
  • Fixed title property for NSSavePanelMBS to avoid NSException for empty string.
  • Improved pretty formatting for JSON arrays for JSONMBS class.
  • Updated DynaPDF to version 4.0.30.89.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MonkeyBread Software Releases updated Xojo Kits


Nickenich, Germany (August 6th, 2019) -- Monkeybread Software releases new versions of their Xojo Kits, powerful add-ons to Xojo with additional functionality provided as source code.

We offer six kits aiming to provide additional functionality for iOS projects in Xojo: Addressbook, Events, Audio Player, Encryption, Network and UDP Socket. Our desktop kits Updater, Bugreporter and WebStarter provide valuable code to add to your projects, but may require additional plugins from us.

All Kits have been updated to make sure they work in Xojo 2019.
If you have a current license, bought within the last 12 months, you can use the updates for free.
Otherwise you can order licenses on our websites or in the Xojo store as needed.

The webshop offers the iOS related kits in a discounted bundle named iOS Kit Set. (more)

Archives

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