On 10/16/19 8:25 AM, Nikolay Sivov wrote:
Does it have to be dynamically allocated? It seems that you could've added it to ScriptDisp directly.Directly related to that, if context changes are reflected by earlier created typeinfo's, then you don't need to duplicate things in patch 3/9.
Yeah, it has to be dynamic. It also can't be added to ScriptDisp, because one could theoretically release the IDispatch and close the script while still having access to the TypeInfo.
And the context changes are not reflected by earlier typeinfos, so the duplication is necessary, each of them is "frozen" at the moment it is retrieved (again, since the dispatch may also be released in the meantime).
And yes, even retrieving it twice in a row results in different typeinfos (I did add tests for this, though) with duplicated information.