I think you got lost
I get that items such as acutPrintf are not thread safe. it's not even close to what I am taking about.
If you get that, why did you post an example that uses MessageBox.Show(),
which fails because that API and/or other AutoCAD code that gets called
as a result of calling that API can't run on the GC's thread ?
I think you messed-up
because my trace API shows the message
when the finalizer runs at the next GC, but your sample shows nothing,
and from that, you are implying what? That DeleteUnmanagedObject()
is not getting called?
Sorry, but you're mistaken.
I am talking about the "lifetime" of an underlying unmanaged object, when wrapped in a class such as disposableWapper.
That's not what I'm talking about. I'm talking about your sample that
calls MessageBox.Show() and the point you were trying to make with
it
My goal here is not to argue with you, it's to pass on the little knowledge i have gained from writing literally thousands of wrappers for .NET : ) .
You mean you're not playing games here? If not, then why don't you
just state what happens when your sample runs, and what should or
should not happen?
Cheers