Rainer Schuetze wrote:

On 28.06.2013 09:07, Walter Bright wrote:
> Will add to proposal.
>
> On 6/27/2013 11:27 PM, Rainer Schuetze wrote:
>> On 25.06.2013 23:00, Walter Bright wrote:
>>> 4. Null checks are done before calling any AddRef() or Release().
>>
>> Here is another nitpick that needs to be addressed: As mentioned in
>> the implementation of ComObject invariants (and out contracts) must
>> not be called when returning from Release, if it is ok to actually
>> delete the object.
>>


Sorry to produce these drop by drop, but while writing the last mail, I noticed another issue to think about:

What happens if the class also implements interfaces? A reference of the interface type must do reference counting as well. So the interface must also define AddRef and Release. This is currently true for COM-interfaces derived from IUnknown, but not for other interfaces.

Reply via email to