Allow palette-using add-on to use FreeData
Anonymous
Not applicable
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2018-05-07
02:56 PM
- last edited on
2022-12-06
01:39 PM
by
Daniel Kassai
2018-05-07
02:56 PM
Hi!
I am currently implementing a palette inside my add-on, and have run into a new problem.
My Add-on now has a palette that can be opened / closed. So far, so good.
The problem is, during development, I cannot apply changes to the add-on and rebuild it, as it does not get unloaded when I close the palette.
In the "Control the Load unload mechanism" article, the following is said :
About FreeData : "Some operations (e.g. when an add-on has its own palette[...]) cause the add-on to stay in memory without calling this function."
And : "An add-on must be unloaded when [...], all the palettes have been dismissed, [...]."
So far, here are my "Init" functions (called separately through the code) and my "Closing" functions (called when the user closes the palette) :
Init functions :
Did I miss something to unload my Palettes?
Thanks !
I am currently implementing a palette inside my add-on, and have run into a new problem.
My Add-on now has a palette that can be opened / closed. So far, so good.
The problem is, during development, I cannot apply changes to the add-on and rebuild it, as it does not get unloaded when I close the palette.
In the "Control the Load unload mechanism" article, the following is said :
About FreeData : "Some operations (e.g. when an add-on has its own palette[...]) cause the add-on to stay in memory without calling this function."
And : "An add-on must be unloaded when [...], all the palettes have been dismissed, [...]."
So far, here are my "Init" functions (called separately through the code) and my "Closing" functions (called when the user closes the palette) :
Init functions :
// Initialising callback DGModelessInit(ACAPI_GetOwnResModule(), 32400, ACAPI_GetOwnResModule(), PaletteCallback, (DGUserData)&pltctrl, true); // Inside the callback, on DG_MSG_INIT : ACAPI_RegisterModelessWindow(dialID, PaletteAPIControlCallBack, API_PalEnabled_FloorPlan + [...] + API_PalEnabled_Layout)Closing functions :
if (pltctrl.dialID != 0 && DGIsDialogOpen(pltctrl.dialID)) DGModelessClose(pltctrl.dialID); if (pltctrl.dialID != 0) { DGEndProcessEvents(pltctrl.dialID); ACAPI_UnregisterModelessWindow(pltctrl.dialID); DGDestroyModelessDialog(pltctrl.dialID); DGDestroyPalette(pltctrl.dialID); }Using the debugger, I made sure every of these functions were launched.
Did I miss something to unload my Palettes?
Thanks !
Labels:
- Labels:
-
Add-On (C++)
0 REPLIES 0