vbstreets konferencia - Téma megtekintése - hogyan kell kikapcsolni tömb határait ellenőrzi az IDE
Be kell, hogy az első módszer. A második módszer borzasztóan piszkos megközelítés. Bűncselekmény. Én forgatás.
Ami a hatása az idő értékét cElements szabad memória - egy érdekes kérdés. A nagyon pusztító folyamat a tömb kell két szakaszra oszlik.
Az első fázis - a tisztítás a tartalmát a tömb. Ha ez egy tömb tárgyak, kapcsolatok semleges lesz földelés, hogy fogják hívni IUnknown :: Release. Ha ez a sor az úgynevezett SysFreeString minden egyes tételt. VariantClear a lehetőségeket. És így tovább. Ebben a szakaszban természetesen befolyásolja az értéket cElements.
A másik dolog az, hogy SaMap és SaUnmap funkció (nevezetesen, így hívtam a feladatot téglák. Felelős kiálló SAFEARRAY-tömb tetszőleges memória régió) rendszerint egy hivatkozás egy sor ByRef. Ugyanakkor nem tudni, hogy ki a tulajdonosa a tömb (a tulajdonos felelős a teremtés és pusztulás). Nem tudják, amit a tulajdonos használt létrehozása és kiadása. Ezért nem tudnak teljes bizonyossággal afelől, hogy ez a módszer IMalloc :: Ingyenes használják a szabad memória.
Másrészt, lehet képzelni egy villával lehetőség, ha SaMap vesz egy tömb ByRef, az azt jelenti, hogy vannak olyan VB-shnaya tömb változót. Tehát vagy a tömb osztottak a VB, vagy továbbra is egy lehetőség, amely már tervezett egy sor harmadik fél (esetleg nem szabványos memória kezelési módszert), és felvett egy pointert a SA-leíró a VB-shnuju változó. De azt se felejtsük el, hogy a második esetben, az automatikus eltávolítását VB megy tömb erők Oleaut32.dll forgatókönyv, vagyis a memória felszabadul a IMalloc: ingyen nem számít, hogy milyen volt fonva. Tehát, ha VB-shnuju tömbváltozó megállapítja egy harmadik fél, akkor söpörni meg kell csinálni. És ilyen tömbök nem kell használni a trükkök a helyettesítés cElements.
-Mi külön mosolygó arcukat a többi a szervezetben, kapitány.
-Ez van! Mi lefejezni őket.