Shoutbox

plugin reload issues (how to solve ?) (Vb, and subclassing in genereal) - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Forum: Plug-Ins (/forumdisplay.php?fid=28)
+------ Thread: plugin reload issues (how to solve ?) (Vb, and subclassing in genereal) (/showthread.php?tid=52582)

plugin reload issues (how to solve ?) (Vb, and subclassing in genereal) by TazDevil on 11-03-2005 at 08:03 PM

i just realised that there is a small bug in Plus, that could be solved in a reloader plugin or better by Patchou...

The issue is only caused by VB plugins (plugins coded in visual basic).
Plus successfully removes all referenses to these plugins but fails to remove them from memory... therefore causing unfavourable effects...

Plus after removing all VB plugins references should call
CoFreeUnusedLibraries();
which will automatically remove unused libraries, (plugins) and therefore restore compatibility...
or  Free each library separatelly  :)

This way plugins vb and c++ can be loaded/unloaded, live after a reload message, without the need to restart messenger ;)

please read post below for a matter conserning this one.


One more issue i'd think would be wise to address to patchou...

I think that it would be better if plugins were unloadedin the reverse order from which they were loaded...

As you can see where i am drifting...
if 2 or more plugins were to subclass a same window and store a function proc pointer that would use later for calling the original proc

when unloading as it is now, plugins get unloaded the same order that they were loaded so the stored proc pointer that would in virtually reference the 1st plugins proc would be rendered invalid and off memory as the 1st plugin gets unloaded before the 2nd one

Please Patchou consider fixing this issue as it creates some problems with many plugins and subclassing

This issue is not visible to the eye as you have to use a plugin reloader to produce such an effect.

PS: correct me if i am wrong ;)
RE: plugin reload issues (how to solve ?) (Vb, adnd subclassign in genereal) by CookieRevised on 11-05-2005 at 11:01 AM

quote:
Originally posted by TazDevil
Plus after removing all VB plugins references should call CoFreeUnusedLibraries();
which will automatically remove unused libraries, (plugins) and therefore restore compatibility...
This will not always work either. See the explaination of CoFreeUnusedLibrariesEx() which goes deeper into the issue and how CoFreeUnusedLibraries() and/or CoFreeUnusedLibrariesEx() is to be used. It isn't that strait forward as stating "This function unloads any DLLs that are no longer in use".


RE: plugin reload issues (how to solve ?) (Vb, and subclassing in genereal) by TazDevil on 11-23-2005 at 03:00 PM

Hmm i just saw that my post was moved to plugins, while it was intended to be in the Bug Report area so that Patchou could see it

so iam pinging this post to resurface again because i think it is an importand issue.

Hope Patchou sees it this time ;)