Yes, you are correct that Stream has to be release but not via OleRelease because memory allocation library used by CreateStreamOnHGlobal need not the same as that in OLE::OleRelease. Instead it should use virtual Release from the stream itself. pseudo code in C++ like, STR->Release()

You original platimg crashed in wine. BTW api signitures not yet updated so that it is not usable in XP64.

Oleg Kobchenko wrote:
Interesting. The "movable and nondiscardable" I could
believe. Does it really make a difference, has it been
noticed to cause problem otherwise.

However, regarding fDeleteOnRelease--it means that
the Global Handle will be deleted when IStream is
released, which makes pefect sense, so OleRelease is
fine. Unless, that is, GdipCreateBitmapFromStream will
call release on the passed interface. Is that the case?

--- bill lam <[EMAIL PROTECTED]> wrote:

getimg1=: 3 : 0
   GdiplusStartup (TOK=.,_1);GdiplusStartupInput;0
   HDL=. GlobalAlloc 0;#y
   y memw (GlobalLock {.HDL),0,#y
   GlobalUnlock {.HDL
   CreateStreamOnHGlobal HDL;1;STR=.,_2
   GdipCreateBitmapFromStream ({.STR);BMP=.,_1
   OleRelease {.STR
   z=. bmpARGB {.BMP
   GdiplusShutdown {.TOK
   z
)

from m$ link
http://msdn2.microsoft.com/en-us/library/aa378980(VS.85).aspx
says that The handle must be allocated as movable and nondiscardable. so that
   HDL=. GlobalAlloc 2;#y
and  fDeleteOnRelease in CreateStreamOnHGlobal already set to true so that
   OleRelease {.STR
is redundant and can cause memory fault.
similarly for putimg1

regards,
bill


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm




      
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page. http://www.yahoo.com/r/hs
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to