Einhugur Plugin releases

Bjorn,

We are having an issue getting the TreeView plugin Version 7.1 to work in any Windows XOJO version. This newer version works on the Mac and the prior version of TreeView works seems to work fine in Windows. We are unable to create a sub-class with Version 7.1 in Windows and it will not find the superclass for the TreeView.

We tried the Sample project and the plugins in included in the zip and it will not run either. We have both the TreeView.xojo_plugin and #CoreClasses.xojo_plugin installed under program files/xojo/plugins/ folder and we have restarted XOJO.

For the record, we have been using this class and other classes for a few years. We just don’t understand why we are unable to get XOJO to see the TreeView class under Select Super when creating a subclass. We have tried in both Windows 7 and 10 64-bit.

Any help would be greatly appreciated.

Thanks to Bjorn, I was able to find out that the issue with the plugin not loading had to do with having to many plugins installed under Windows which lead to the plugin with the name at the far back of the alphabet not loading. Renamed the plugin to start with an A and it loaded. I will now have to weed out any unused plugins.

Thanks for your help Bjorn.

Hello Björn

I do a lot of graphics with matplotlib in Python. Now I wonder if I coiuld use your PythonScript Plugin to display the praphics - if possible live - in a Xojo window instead of the Python consol.
I currently save the python output to a file and show the file in Xojo but this is not interactive - I can’t tilt or rotate the picture without creating a new output and overwrite the old one.
Here an example of my graphics. https://www.dropbox.com/s/77ti3tg02gylbi4/GrapExample.png

[quote=330179:@Hanspeter Bleuler]Hello Björn

I do a lot of graphics with matplotlib in Python. Now I wonder if I coiuld use your PythonScript Plugin to display the praphics - if possible live - in a Xojo window instead of the Python consol.
I currently save the python output to a file and show the file in Xojo but this is not interactive - I can’t tilt or rotate the picture without creating a new output and overwrite the old one.
Here an example of my graphics. https://www.dropbox.com/s/77ti3tg02gylbi4/GrapExample.png[/quote]

Hello Hanspeter

I have to confess I do not really got good answer to that one, I am not familiar at all with Python graphics. How you would bridge the Graphics with the Python Plugin bridge to Xojo is not clear to me. Probably best bet would be if you can save to temp file and load it from the Xojo code?

Thanks Björn - Thats what I’m doing right now. I’m just looking for nicer way to do thinks.

I would create an application with MBSPlugins and Einhugur plugins, but I got errors when build the app. All plugins are working with Xojo2017R1, but not with R1.1.
In R1.0 these plugins are loaded and working:
‘MBS Xojo Audio Plugin.xojo_plugin’
‘MBS Xojo AVFoundation Plugin.xojo_plugin’
‘MBS Xojo Barcode Plugin.xojo_plugin’
‘MBS Xojo CanonEOSDigital Plugin.xojo_plugin’
‘MBS Xojo ChartDirector Plugin.xojo_plugin’
‘MBS Xojo Cocoa Plugin.xojo_plugin’
‘MBS Xojo CocoaBase Plugin.xojo_plugin’
‘MBS Xojo CocoaControls Plugin.xojo_plugin’
‘MBS Xojo CocoaExtras Plugin.xojo_plugin’
‘MBS Xojo Compression Plugin.xojo_plugin’
‘MBS Xojo ComputerControl Plugin.xojo_plugin’
‘MBS Xojo Controls Plugin.xojo_plugin’
‘MBS Xojo CUPS Plugin.xojo_plugin’
‘MBS Xojo CURL Plugin.xojo_plugin’
‘MBS Xojo DataTypes Plugin.xojo_plugin’
‘MBS Xojo DirectShow Plugin.xojo_plugin’
‘MBS Xojo Dongle Plugin.xojo_plugin’
‘MBS Xojo DynaPDF Plugin.xojo_plugin’
‘MBS Xojo Encryption Plugin.xojo_plugin’
‘MBS Xojo EyeOne Plugin.xojo_plugin’
‘MBS Xojo GIF Plugin.xojo_plugin’
‘MBS Xojo GraphicsMagick Plugin.xojo_plugin’
‘MBS Xojo ImageMagick Plugin.xojo_plugin’
‘MBS Xojo Java Plugin.xojo_plugin’
‘MBS Xojo JPEG Plugin.xojo_plugin’
‘MBS Xojo LargePicture Plugin.xojo_plugin’
‘MBS Xojo LCMS Plugin.xojo_plugin’
‘MBS Xojo LCMS2 Plugin.xojo_plugin’
‘MBS Xojo Leopard Plugin.xojo_plugin’
‘MBS Xojo Linux Plugin.xojo_plugin’
‘MBS Xojo Lion Plugin.xojo_plugin’
‘MBS Xojo Mac Plugin.xojo_plugin’
‘MBS Xojo Mac64bit Plugin.xojo_plugin’
‘MBS Xojo MacOSX Plugin.xojo_plugin’
‘MBS Xojo MacOSXCF Plugin.xojo_plugin’
‘MBS Xojo MacOSXCG Plugin.xojo_plugin’
‘MBS Xojo Main Plugin.xojo_plugin’
‘MBS Xojo MarkDown Plugin.xojo_plugin’
‘MBS Xojo Mavericks Plugin.xojo_plugin’
‘MBS Xojo MountainLion Plugin.xojo_plugin’
‘MBS Xojo Network Plugin.xojo_plugin’
‘MBS Xojo NikonCamera Plugin.xojo_plugin’
‘MBS Xojo OCR Plugin.xojo_plugin’
‘MBS Xojo Overlay Plugin.xojo_plugin’
‘MBS Xojo PHP Plugin.xojo_plugin’
‘MBS Xojo Picture Plugin.xojo_plugin’
‘MBS Xojo PNG Plugin.xojo_plugin’
‘MBS Xojo QTKit Plugin.xojo_plugin’
‘MBS Xojo QuickTime Plugin.xojo_plugin’
‘MBS Xojo RegEx Plugin.xojo_plugin’
‘MBS Xojo SmartCard Plugin.xojo_plugin’
‘MBS Xojo SnowLeopard Plugin.xojo_plugin’
‘MBS Xojo SQL Plugin.xojo_plugin’
‘MBS Xojo TAPI Plugin.xojo_plugin’
‘MBS Xojo Tidy Plugin.xojo_plugin’
‘MBS Xojo Tiff Plugin.xojo_plugin’
‘MBS Xojo Twain Plugin.xojo_plugin’
‘MBS Xojo USB Plugin.xojo_plugin’
‘MBS Xojo Util Plugin.xojo_plugin’
‘MBS Xojo VLC Plugin.xojo_plugin’
‘MBS Xojo WIA Plugin.xojo_plugin’
‘MBS Xojo Win Plugin.xojo_plugin’
‘MBS Xojo WinDragDrop Plugin.xojo_plugin’
‘MBS Xojo WinICM Plugin.xojo_plugin’
‘MBS Xojo XL Plugin.xojo_plugin’
‘MBS Xojo XMP Plugin.xojo_plugin’
MSOfficeAutomation.rbx
MSSQLServerPlugin.xojo_plugin
MySQLCommunityPlugin.xojo_plugin
ODBCPlugin.xojo_plugin
OraclePlugin.xojo_plugin
PostgreSQLPlugin.xojo_plugin
SearchControl.xojo_plugin

In R1.1 these plugins are loaded:
‘MBS Xojo Audio Plugin.xojo_plugin’
‘MBS Xojo AVFoundation Plugin.xojo_plugin’
‘MBS Xojo Barcode Plugin.xojo_plugin’
‘MBS Xojo ChartDirector Plugin.xojo_plugin’
‘MBS Xojo Compression Plugin.xojo_plugin’
‘MBS Xojo ComputerControl Plugin.xojo_plugin’
‘MBS Xojo Controls Plugin.xojo_plugin’
‘MBS Xojo CURL Plugin.xojo_plugin’
‘MBS Xojo DataTypes Plugin.xojo_plugin’
‘MBS Xojo DirectShow Plugin.xojo_plugin’
‘MBS Xojo DynaPDF Plugin.xojo_plugin’
‘MBS Xojo Encryption Plugin.xojo_plugin’
‘MBS Xojo GIF Plugin.xojo_plugin’
‘MBS Xojo GraphicsMagick Plugin.xojo_plugin’
‘MBS Xojo ImageMagick Plugin.xojo_plugin’
‘MBS Xojo Java Plugin.xojo_plugin’
‘MBS Xojo JPEG Plugin.xojo_plugin’
‘MBS Xojo LargePicture Plugin.xojo_plugin’
‘MBS Xojo LCMS2 Plugin.xojo_plugin’
‘MBS Xojo Linux Plugin.xojo_plugin’
‘MBS Xojo Main Plugin.xojo_plugin’
‘MBS Xojo Network Plugin.xojo_plugin’
‘MBS Xojo OCR Plugin.xojo_plugin’
‘MBS Xojo Overlay Plugin.xojo_plugin’
‘MBS Xojo PHP Plugin.xojo_plugin’
‘MBS Xojo Picture Plugin.xojo_plugin’
‘MBS Xojo PNG Plugin.xojo_plugin’
‘MBS Xojo QuickTime Plugin.xojo_plugin’
‘MBS Xojo RegEx Plugin.xojo_plugin’
‘MBS Xojo SQL Plugin.xojo_plugin’
‘MBS Xojo Tiff Plugin.xojo_plugin’
‘MBS Xojo Twain Plugin.xojo_plugin’
‘MBS Xojo USB Plugin.xojo_plugin’
‘MBS Xojo Util Plugin.xojo_plugin’
‘MBS Xojo VLC Plugin.xojo_plugin’
‘MBS Xojo WIA Plugin.xojo_plugin’
‘MBS Xojo Win Plugin.xojo_plugin’
‘MBS Xojo WinDragDrop Plugin.xojo_plugin’
‘MBS Xojo WinICM Plugin.xojo_plugin’
‘MBS Xojo XL Plugin.xojo_plugin’
‘MBS Xojo XMP Plugin.xojo_plugin’
PostgreSQLPlugin.xojo_plugin
SearchControl.xojo_plugin

In R.1.1 all plugins are loaded include “SearchControl”, but all other MBS plugins are not working and I got 376 errors when build the application. Fore example all features and functions from ‘MBS Xojo Util Plugin.xojo_plugin’ and ‘MBS Xojo Win Plugin.xojo_plugin’ (and more) are not available.

I don’t know if you are on Windows or Mac.
If you are on Windows the combination MBS+Einhugur can cause painful problems. Clean all Xojo caches you can find is the first step.
Then I suggest you download the Microsoft tool DbgView here and see how far the plug-in loading works and then start removing plug-ins above that you may not need. Mind the cross-requirements of some of MBS plug-ins.
I have literally spent days on troubleshooting this.

Remove half of the MBS Plugins and other plugins load again.
It’s simply that Windows has a limit on how many DLLs you can load and with so many plugins you run into that limit.

FYI plugin authors should NOT statically link in the CRT
Doing so may limit the number of DLLs that can be loaded to about 128
With the CRT dynamically linked it would be about 300
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/3546c3c4-1b36-4552-85c5-1b3ba860ee84/how-many-dlls-can-be-loaded-in-a-process-using-loadlibrary-?forum=windowssdk

[quote=330456:@Norman Palardy]FYI plugin authors should NOT statically link in the CRT
Doing so may limit the number of DLLs that can be loaded to about 128
With the CRT dynamically linked it would be about 300
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/3546c3c4-1b36-4552-85c5-1b3ba860ee84/how-many-dlls-can-be-loaded-in-a-process-using-loadlibrary-?forum=windowssdk[/quote]

Plugin authors usually don’t statically link it. The whole plugin set now days is just huge amount and will never work to load them all at once on Windows.

I have this problem only on Windows platform. My question is: Why Xojo 2017 R1.0 can load 73 plugins and R.1.1 can only load less than 43 plugins?

Note I said they SHOULD not
Not THEY DO - but if they do it has a bad side effect.

In theory dynamic linking should make it possible to load up to 300 DLL’s BUT of course there are other issues that can lower that limit (memory etc etc)

You only encounter this on Windows because its only Windows that has this issue with how dlls load
Thats an OS issue
OS X and linux handle this entirely differently and so do not have the same issue

That you can only load that many fewer may have to do with increased memory requirements for the IDE
Open Task Manager and start Xojo and see what the memory requirements are when it starts not loading plugins
Thats my suspicion

MBS Plugin loads fine with 500+ DLLs.

Does that count include ones that are dynamically linked to as well ?
I would not count those
Just the ones the IDE loads directly

Only the Windows OS has this limitation, it is a silly limitation. This has slowly been getting fewer DLL’s you can load as Xojo gets bigger. So a tiny bit bigger Xojo might have bumped you over the limit between versions.

There is not really any solution to this except not loading all DLL’s in the world or unloading them again. The new Xojo Plugin format of course will have them per project but of course I have some reservations on how much of the existing many complex plugins makes sense to port to it time will tell, it will probably make sense for some kinds to make such swith and other kinds not (guessing here).

We have some ideas but nothing concrete enough to share

Actually it probaly wont have this issue since it wont involve loading dylibs
Geoff just spoke about this at the European conference and bob blogged about it here
This new plugin format is project based, so it’s easier to handle different versions for different projects. The new Xojo plugins are compiled into an intermediate LLVM format so there’s no need to ship classes with encrypted source code.