View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003637||JEDI VCL||00 JVCL Components||public||2006-04-12 08:17||2006-07-29 08:01|
|Platform||x86||OS||Win XP||OS Version||Service pack 2|
|Target Version||Fixed in Version||3.30|
|Summary||0003637: JvPluginManager Crashes on destroy|
|Description||JvPluginManager 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 Reproduce||To 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.
|Tags||No tags attached.|
ProblemSource.zip (3,656 bytes)
||I'm seing this as well, but all three projects MUST be compiled with runtime packages.|
||You have to set the PluginKind property to plgPackage for it not to crash. This is logical as the plugins are packages.|
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.
||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.|
||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.|
||No reactions, I'm assuming this is fixed in the latest daily/svn|
|2006-04-12 08:17||Maudrid||New Issue|
|2006-04-12 08:17||Maudrid||File Added: ProblemSource.zip|
|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|