Ingo,
> have COM instances to be freed explicitely by #Release via
> #finalize or is it done automatically ?
>
> I assume that it is done automatically because I got GPFs when
> using a #finalize method, but I'm not sure.
COM interface pointers are cleaned up automatically via finalization.
There's actually a little more to it, because finalization takes time to
happen (it runs at a low priority, so it might not happen for a "very" long
time). Hence you will find that COM interface pointers are also cleaned up
on system shutdown; see #onExit.
It's just a hunch, but, I'm guessing that the GPFs were the result of
something you or Dolphin tried to do after you explicitly finalized an
interface pointer. It's legal to free objects, but, only if you are certain
that they won't be used after that point; when in doubt, it's best to let
Dolphin handle it. For example, explicit cleanup (of GDI objects) becomes
(very) necessary for graphics-intensive apps running on Win9x. Unless your
COM objects are expensive, you might do well to let them go away on their
own, or perhaps arrange to grab one before a tight loop and use it
throughout rather than creating/discarding lots of instances inside the
loop??
Have a good one,
Bill
--
Wilhelm K. Schwab, Ph.D.
[hidden email]