[fpc-devel] Unwanted finalization

Yury Sidorov jura at cp-lab.com
Sat Oct 13 18:13:17 CEST 2012


The declaration of ITypeInfo.Invoke() is broken now anyway. Some of 
out parametrs should accept nil values and it is not possible with the 
current declaration. I doubt that ITypeInfo.Invoke() is used directly 
by user code. Especially in this broken form.

Yury Sidorov, jura at cp-lab.com

----- Original Message ----- 
From: "Jonas Maebe" <jonas.maebe at elis.ugent.be>
To: "FPC developers' list" <fpc-devel at lists.freepascal.org>
Sent: Saturday, October 13, 2012 7:05 PM
Subject: Re: [fpc-devel] Unwanted finalization

On 13 Oct 2012, at 18:01, Yury Sidorov wrote:

> Funny, but I have also encountered the problem in this place 
> yesterday :) But with PVariant(VarResult)^ in my case.
> Yes, the declaration of ITypeInfo.Invoke() should be changed to 
> eliminate unwanted compiler magic with managed types when a nil is 
> passed.
> I'll commit the required changes today or tomorrow.

Can't you add an overloaded version to avoid breaking backward 
compatibility? Or does this problem occur all the time, so that it's 
better to break compilation than have people hunt all over the source 
code to find all possible problem locations?

fpc-devel maillist  -  fpc-devel at lists.freepascal.org

More information about the fpc-devel mailing list