Should have checked the source, keep forgetting it's there. Thanks, I'll remove the warning I stuck in COM docs about non-issue.
--- In [email protected], "brucexs" <bswit...@...> wrote: > > > > --- In [email protected], "entropyreduction" > <alancampbelllists+yahoo@> wrote: > > > > Hi bruce, > > > > local hVecChildren = hao.get_accessible_children() > > > > get_accessible_children creates a vecotr and stufs it full, partly with > > hanldes to com objects. > > > > I assume when hVecChildren is destroyed (explicitly or by going out of > > scope), any handles stored in hVecChildren will _not_ be released. > > Up to user to do that explicitly. > > > Not true, at least if code is working as intended. > > The vec destroy routine eventually calls this for each element in the vector > static void DeleteVec(int vi) > { > int i; > LPSTR p; > for (i=0; i<g_v[vi].capacity; i++) > if (p=*(g_v[vi].base+i)) > { > (g_ppsv->FreeIfHandle)(p); > free(p); > *(g_v[vi].base+i)=NULL; > } > g_v[vi].length=0; > } > FreeIfHandle is a PowerPro services that checks to see if p points to a > handle from a registered service, and if so calls registered callbacvk for > freeing that handle. > > I have not checked, but I am pretty sure maps are the same. >
