<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Stocki,<br>
<br>
Since your report was closed and I didn't fully (the closing) agree
with that without research, here's a part of my research:<br>
<br>
I found this reply by Danny Thorpe on stackoverflow:<br>
<a class="moz-txt-link-freetext" href="http://stackoverflow.com/questions/7759081/is-the-compiler-treatment-of-implicit-interface-variables-documented/19914385#19914385">http://stackoverflow.com/questions/7759081/is-the-compiler-treatment-of-implicit-interface-variables-documented/19914385#19914385</a><br>
<br>
To quote:<br>
"I recall there have been a few bugs in this area over the years.
Long ago (D3? D4?), the compiler didn't reference count the
intermediate value at all. It worked most of the time, but got into
trouble in parameter alias situations. Once that was addressed there
was a follow up regarding const params, I believe.<i><b> There was
always a desire to move disposal of the intermediate value
interface up to as soon as possible after the statement in which
it was needed, but I don't think that ever got implemented in
the Win32 optimizer because the compiler just wasn't set up for
handling disposal at statement or block granularity</b></i>."<br>
<br>
As you will see, the original intention by the Delphi architects was
to release an interface as soon as possible.<br>
The problem was<b> *and is*</b> that their compiler infrastructure
doesn't allow that.<br>
So the discussion on the buglist should be read in that context.<br>
<br>
Even the designer of Delphi's interface implementation wished they
were able to have a better implementation.<br>
CUDO's to the Freepascal compiler guys for more or less achieving
that ;)<br>
<br>
You have to read it very carefully. It is not about the question,
but about the <b>last part of the answer by Danny.</b><b><br>
</b><br>
I hope this sheds some new light on the matter that bothers you so
much.<br>
<br>
Regards,<br>
<br>
Thaddy<br>
</body>
</html>