Trying the provided sample "Hello" I cannot get the DLL to work with PVRX2 (using the DLL provided in the zip). Even after a new install of GB-PVR v1.0.16 I keep getting the message:
2007-12-22 22:10:45.796 INFO [1] About to check 'E:\GBPVR\plugins\HelloWorld' for plugins
2007-12-22 22:10:45.796 VERBOSE [1] About to check file: E:\GBPVR\plugins\HelloWorld\HelloWorld.dll
2007-12-22 22:10:45.796 VERBOSE [1] HelloWorld constructor parameter count: 0
lupus11 Wrote:Trying the provided sample "Hello" I cannot get the DLL to work with PVRX2 (using the DLL provided in the zip). Even after a new install of GB-PVR v1.0.16 I keep getting the message:
2007-12-22 22:10:45.796 INFO [1] About to check 'E:\GBPVR\plugins\HelloWorld' for plugins
2007-12-22 22:10:45.796 VERBOSE [1] About to check file: E:\GBPVR\plugins\HelloWorld\HelloWorld.dll
2007-12-22 22:10:45.796 VERBOSE [1] HelloWorld constructor parameter count: 0
and do not see the plugin on PVRX2.
Any help ?
Thank You
lupus
Did you run the config and check HelloWorld as being enabled?
Getting back to the memory leak earlier in this thread, I still have problems. I populate a UiSimpleList with several (~30) UiSimpleList.Item elements. This list contains the results of a subquery of a database query, so the list contents change frequently, when the user moves the cursor over the main query. What I cannot manage atm is to get rid of the "old" elements of the list. I tried it with GetRenderList() to get the old list, then with setItemList() to set the list to the new item array and after this I tried to call PluginHelperFactory.getPluginHelper().DisposeResources with the previously fetched (now old) item list. This seems to work for 4-5 times, but after this suddenly the GetRenderList return null, even though there is a valid setting. What would be the correct way of disposing the no longer needed element array ?
Since these are list controls that are permanently available in your plugin, ie not in a popup and not dynamically destroy and recreated later, then you shouldnt need to worry about disposing anything in the list.
Your plugin can create its item lists whenever it wants, and update them as frequently as it wants. The list will manage its own resources in this type of usage. There is no magic resources associated with UiSimpleList.Item objects. These are just a simple object holding a hashtable of parameters.
You only really need to worry about managing your own resources in popups, or if you're manually creating GBPVRUiElement objects (which most plugins wont).
Quote:I populate a UiSimpleList with several (~30) UiSimpleList.Item elements. This list contains the results of a subquery of a database query, so the list contents change frequently, when the user moves the cursor over the main query. What I cannot manage atm is to get rid of the "old" elements of the list.
If you're literally still seeing old items in the list, then you've got some logic problem in your plugin code that is causing you to either append to some existing list rather than creating a new onw, or populate the list with objects you hadnt intended to.
Quote:Since these are list controls that are permanently available in your plugin, ie not in a popup and not dynamically destroy and recreated later, then you shouldnt need to worry about disposing anything in the list.
This is what I did up to now, but found out, that the process memory amount rises very quickly up to > 800MB without ever being freed again and still rising with every list change. This does not happen, when I do not use the subquery list.
Quote:If you're literally still seeing old items in the list, then you've got some logic problem in your plugin code that is causing you to either append to some existing list rather than creating a new onw, or populate the list with objects you hadnt intended to.
That's clear, I do not literally see them, but they still seem to reside somwhere in memory, even though the are already replaced by new ones in the list.
The Problem seems solved now. It was not the list elements, but an additional GBPVRUiElement that I allocate with every query change. Since I pass the old one in a list to DisposeResources the memory usage seems okay.