<p dir="ltr">Hello all,</p>
<p dir="ltr">IMO the best way to implement this is by controlling the TObject behaviour through a compiler switch, something like "enable globally", "disable globally", "enable for specific class" and in the latter case another switch should mark the class that should have this behaviour enabled.</p>
<p dir="ltr">This should allow the compiler to emit different code per case.</p>
<p dir="ltr">But the question is what should be the behaviour for genetics and also how should it work for packages (when and if they are implemented).<br>
Also should this reference count be shared for interfaced classes or not? </p>
<p dir="ltr">Chriss</p>
<div class="gmail_quote">Στις 20 Σεπ 2014 3:26 μ.μ., ο χρήστης "Michael Van Canneyt" <<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>> έγραψε:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On Sat, 20 Sep 2014, Sven Barth wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 20.09.2014 13:11, Peter Popov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Please do not reference count TObject. This is a uniquely bad and<br>
unnecessary idea. I will switch to ANSI C if you guys do it<br>
</blockquote>
<br>
Please enlighten me why you think it is bad.<br>
</blockquote>
<br>
Simple:<br>
<br>
For one, it will slow down your code.<br>
There will be lots of incr/decr of reference counts, just as for ansistrings.<br>
<br>
Secondly, there is lots of code that stores objects in lists of pointers and vice versa.<br>
Checking such existing code for side effects by the sudden introduction of TObject may take ages.<br>
<br>
So reference counting TObject by default is IMHO out of the question.<br>
<br>
I am not against a reference counted class (the idea exists since ages). But the solution is IMHO to invent a new attribute or whatever, to allow people to make an arbitrary class (and it's descendents) reference counted.<br>
<br>
Michael.<br>
______________________________<u></u>_________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org" target="_blank">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/<u></u>cgi-bin/mailman/listinfo/fpc-<u></u>devel</a><br>
</blockquote></div>