Hi Mindaugas/Przemyslaw

I have been working with ActiveX again. If I comment out the call to Release() in hb_ole_destructor() in olecore.c the GPF does not occur.

That is not very helpful so I wondered if Release() depends in some way on whether OleUninitialize() has been called. If I restore the call to Release() and I comment out OleUninitialize() the GPF also goes away.

I guess the order of calls on shutdown is not deterministic and calls to Release after OleUnitialize() appear to cause a GPF. This is some debug output where OleUnitialize() is not actually called (commented):

[5240] OleInitialize
[5240] OleUninitialize
[5240] hb_ole_destructor
[5240] after hb_ole_destructor
[5240] hb_ole_destructor
[5240] after hb_ole_destructor

If I restore the call to OleUnitialize():

[4792] OleInitialize
[4792] OleUninitialize
[4792] hb_ole_destructor
GPFs here

I hope this analysis is correct. I could not find information on whether it is supposed to be allowable to call Release() after OleUnitialize().

Regards
Alex


_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to