View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001395 | NoesisGUI | C++ SDK | public | 2019-01-20 20:23 | 2019-01-23 13:09 |
Reporter | realesmedia | Assigned To | jsantos | ||
Priority | normal | Severity | block | Reproducibility | always |
Status | resolved | Resolution | no change required | ||
Product Version | 2.2.0b5 | ||||
Summary | 0001395: Using components declared in the dynamic library dll | ||||
Description | https://www.noesisengine.com/forums/viewtopic.php?f=3&t=1566 link to minidump (using component in dll): https://yadi.sk/d/9S9NFqSzg5jtxw link to minidump (only register-unregister component in dll): https://yadi.sk/d/KCo55MUT1DTOlQ | ||||
Tags | No tags attached. | ||||
Platform | Windows | ||||
Thanks for the Dumps! At kernel shutdown we destroy all the types, so the DLL with the corresponding code for that type must be loaded. This is something we could improve for the future (because we have a way to unregister components in the factory but no way to unregister types) but the solution is not easy. The workaround is unloading your DLL after NoesisShutdown. Is that a valid solution for you? |
|
Unloading Dll after NsShutdown does not fit. I showed a simplified use case. We will seek a solution. thanks. |
|
If you unload your dll after doing NsShutdown you are still getting a crash? Could you attach the dump please? | |
if unload dll after NsShutdown () there is no crash)))). I had to change the algorithm for loading modules dll: Engine.exe InitNoesis() loop: UpdateCurrentWorld(); DrawCurrentWord(); commands: LoadWord("world_1"); // script command... ..... LoadWord(""world_2""); // script command... ....... LoadWord(""world_3""); // script command... ... exit: free_current_world_instance(); NoesisShutdown()!!!!! OK for(auto handle : dll_handles) { ::FreeLibrary(handle) } exit: !!!! OK ---------------------------------------------------------------------- LoadWord() { free_current_world_instance(); loadLibrary(*.dll) //Implementation plugin, GameWorld... with unique GUI NoesisComponents init_world_instance(); store_dll_handles(); } |
|
Good news! Should we close this for now then? | |
yes. can close))) thank |
|
Thanks for your feedback! | |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-01-20 20:23 | realesmedia | New Issue | |
2019-01-20 20:31 | realesmedia | Description Updated | |
2019-01-20 20:43 | realesmedia | Description Updated | |
2019-01-21 13:47 | sfernandez | Assigned To | => jsantos |
2019-01-21 13:47 | sfernandez | Status | new => assigned |
2019-01-21 14:56 | jsantos | Note Added: 0005405 | |
2019-01-21 14:56 | jsantos | Status | assigned => feedback |
2019-01-21 14:56 | jsantos | Note Edited: 0005405 | |
2019-01-22 10:51 | realesmedia | Note Added: 0005407 | |
2019-01-22 10:51 | realesmedia | Status | feedback => assigned |
2019-01-22 14:11 | jsantos | Note Added: 0005410 | |
2019-01-22 14:11 | jsantos | Status | assigned => feedback |
2019-01-22 17:34 | realesmedia | Note Added: 0005411 | |
2019-01-22 17:34 | realesmedia | Status | feedback => assigned |
2019-01-22 18:12 | realesmedia | Note Edited: 0005411 | |
2019-01-22 18:24 | realesmedia | Note Edited: 0005411 | |
2019-01-23 10:58 | jsantos | Note Added: 0005412 | |
2019-01-23 10:59 | jsantos | Status | assigned => feedback |
2019-01-23 11:51 | realesmedia | Note Added: 0005413 | |
2019-01-23 11:51 | realesmedia | Status | feedback => assigned |
2019-01-23 13:09 | jsantos | Status | assigned => resolved |
2019-01-23 13:09 | jsantos | Resolution | open => no change required |
2019-01-23 13:09 | jsantos | Note Added: 0005414 |