View Issue Details

IDProjectCategoryView StatusLast Update
0003637JEDI VCL00 JVCL Componentspublic2006-07-29 08:01
ReporterMaudridAssigned Toobones 
Status resolvedResolutionfixed 
Platformx86OSWin XPOS VersionService pack 2
Product Version3.20 
Target VersionFixed in Version3.30 
Summary0003637: JvPluginManager Crashes on destroy
DescriptionJvPluginManager Crashes or hangs the appliaction when "Build with runtime packages" is selected.
And before you ask; yes, I have "sharamem" as the first item in the uses clause of the project.
Steps To ReproduceTo recreate the problem is very simple. This has only been tested with Borland Developer studio 2006.

In this attached example, there are 3 projects. Two of these are libraries and more specifically, JvPlugin libraries.
The third project is a W32 VCL application that contains a form with a JvPluginManager component.

The Plugins have been created with the plugin wizard. No other changes have been made.
The application has a button that calls the LoadPlugins method on the plugin manager.

As the example stands, this works. To produce the problem, Go to the project options of all three projects
and turn on the "Build with runtime packages" option under the packages section. You may even just include "vcl" in the list.
Recompile all the projects and run.

When the button is clicked, the plugins load successfully.
Now close the application. This sometimes result in an access violation and sometimes the application just hangs on the FreeLibrary function.]

It seems you need at least 2 plugins loaded for it to stop working.
If the application has the "Build with runtime packages" option turned off, there needs to be three plugins.
TagsNo tags attached.


2006-04-12 08:17 (3,656 bytes)


2006-04-13 08:13

administrator   ~0009090

I'm seing this as well, but all three projects MUST be compiled with runtime packages.


2006-06-08 07:56

administrator   ~0009490

You have to set the PluginKind property to plgPackage for it not to crash. This is logical as the plugins are packages.


2006-06-09 02:02

reporter   ~0009512

Your solution does not work.
Setting the PluginKind to plgPackage results in the application not load any of the plugins. Since they are old style DLLs and not packages.
Did you even try this or look at the source I provided? Look at the plugin count after you click the button. If you set it to plgDLL, the plugin count is 2. If you set it to plgPackage, it shows 0. I'm very sure that these plugins are not packages, since I selected DLL when I created them.


2006-06-09 08:38

administrator   ~0009555

But if you build with runtime packages, I suspect your plugins MUST be built with runtime packages as well. i'll double check, but I think it's that.


2006-06-28 02:49

administrator   ~0009708

Well, I removed "sharemem" from the list of uses for ALL projects and it works just fine. I think there is no need for sharemem to be used, and to me it IS the source of the problem.


2006-07-29 08:01

administrator   ~0009911

No reactions, I'm assuming this is fixed in the latest daily/svn

Issue History

Date Modified Username Field Change
2006-04-12 08:17 Maudrid New Issue
2006-04-12 08:17 Maudrid File Added:
2006-04-13 08:13 obones Note Added: 0009090
2006-04-13 08:13 obones Status new => confirmed
2006-06-08 07:56 obones Status confirmed => resolved
2006-06-08 07:56 obones Resolution open => no change required
2006-06-08 07:56 obones Assigned To => obones
2006-06-08 07:56 obones Note Added: 0009490
2006-06-09 02:02 Maudrid Status resolved => feedback
2006-06-09 02:02 Maudrid Resolution no change required => reopened
2006-06-09 02:02 Maudrid Note Added: 0009512
2006-06-09 08:38 obones Note Added: 0009555
2006-06-28 02:49 obones Note Added: 0009708
2006-07-29 08:01 obones Status feedback => resolved
2006-07-29 08:01 obones Fixed in Version => Daily / SVN
2006-07-29 08:01 obones Resolution reopened => fixed
2006-07-29 08:01 obones Note Added: 0009911