I could be wrong, but $com().result cannot be used short of its literal value; that is AFAIK, there's no way to take the value of $com().result to create a new com/dispatch instance.

So keeping the dispatched pointer alive doesn't make sense IF the $com() call does not provide a dispatch*/unknown* 'variable' for mIRC to fill with the result.

Using our example above:
$com(example, eval, 1, bstr, %js)
- Should NOT keep the returned dispatched pointer as the script has NOT requested it. Instead, $com().result should be filled with the pointer's converted UINT value, and the actual pointer be discarded

$com(example, eval, 1, bstr, %js, dispatch* result)
- Should keep the dispatched pointer(referencable as a new com 'result') as the script has requested the result be kept alive.

--

Also, if I close the root com, why isn't the memory being freed for these inaccessible pointers.


Last edited by FroggieDaFrog; 20/01/18 10:33 PM.

I am SReject
My Stuff