Hello,

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, j...@cp-lab.com

----- Original Message ----- From: "Jonas Maebe" <jonas.ma...@elis.ugent.be>
To: "FPC developers' list" <fpc-devel@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?


Jonas_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel _______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to