<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
TInterfaceList is descended from TInterfacedObject, so it needs to be
referenced with an interface to keeps it's reference count above 0 -
else it will be destroyed along with all the objects it contains.<br>
<br>
eg,<br>
<br>
TMyObject = class(TObject)<br>
private<br>
FInterfaceList : IInterfaceList;<br>
public<br>
constructor create;<br>
end;<br>
<br>
constructor TMyObject.create;<br>
begin<br>
FInterfaceList := TInterfaceList; // automatic typecast to
IInterfaceList<br>
end;<br>
<br>
Conor Boyd wrote:
<blockquote
cite="mid8285CB7241FCFC4BB721A6F953F9B35E04A66206@nzc-ap-xch-01.ap.trimblecorp.net"
type="cite">
<meta http-equiv="Content-Type" content="text/html; ">
<meta content="MSHTML 6.00.2900.2873" name="GENERATOR">
<div dir="ltr" align="left"><span class="117441421-12062006"><font
color="#0000ff" face="Arial" size="2">Can you clarify that for me?</font></span></div>
<div dir="ltr" align="left"><span class="117441421-12062006"></span> </div>
<div dir="ltr" align="left"><span class="117441421-12062006"><font
color="#0000ff" face="Arial" size="2">Why does it *need* to be
referenced with an IInterfaceList?</font></span></div>
<div dir="ltr" align="left"><span class="117441421-12062006"></span> </div>
<div dir="ltr" align="left"><span class="117441421-12062006"><font
color="#0000ff" face="Arial" size="2">I've just started using a
TInterfaceList to hold references to interfaces, but I don't see why I
have to use interfaces WRT the list itself?</font></span></div>
<div dir="ltr" align="left"><span class="117441421-12062006"></span> </div>
<div dir="ltr" align="left"><span class="117441421-12062006"><font
color="#0000ff" face="Arial" size="2">Having said that, I have an
issue where I have to explicitly call _AddRef on the interface I'm
adding to my interfacelist to keep it alive. Could these two things be
related?</font></span></div>
<div dir="ltr" align="left"><span class="117441421-12062006"></span> </div>
<div dir="ltr" align="left"><span class="117441421-12062006"><font
color="#0000ff" face="Arial" size="2">Grateful for your thoughts...</font></span></div>
<div dir="ltr" align="left"><span class="117441421-12062006"></span> </div>
<div dir="ltr" align="left"><span class="117441421-12062006"><font
color="#0000ff" face="Arial" size="2">C.</font></span></div>
<br>
<div class="OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
<hr tabindex="-1"></div>
<div class="OutlookMessageHeader" dir="ltr" align="left" lang="en-us"><font
face="Tahoma"><font size="2"><b>From:</b> <a class="moz-txt-link-abbreviated" href="mailto:delphi-bounces@ns3.123.co.nz">delphi-bounces@ns3.123.co.nz</a>
[<a class="moz-txt-link-freetext" href="mailto:delphi-bounces@ns3.123.co.nz">mailto:delphi-bounces@ns3.123.co.nz</a>] <b>On Behalf Of </b>Phil
Middlemiss<br>
<span class="117441421-12062006"><font color="#0000ff" face="Arial"> </font></span></font></font></div>
<div class="OutlookMessageHeader" dir="ltr" align="left" lang="en-us">No,
it wasn't a typo - he needs to *create* a TInterfaceList - but that
list needs to be *referenced* with an IInterfaceList. It was
intentional to force Thomas to look up how to end up with a working
IInterfaceList.<br>
<br>
Conor Boyd wrote: </div>
<blockquote
cite="mid8285CB7241FCFC4BB721A6F953F9B35E04A661A3@nzc-ap-xch-01.ap.trimblecorp.net"
type="cite">
<meta content="MSHTML 6.00.2900.2873" name="GENERATOR">
<div dir="ltr" align="left"><span class="552015620-12062006"><font
color="#0000ff" face="Arial" size="2">I'm sure it was just a typo, but
it should be a TInterfaceList instead of a TList.</font></span></div>
<div dir="ltr" align="left"><span class="552015620-12062006"></span> </div>
<div dir="ltr" align="left"><span class="552015620-12062006"><font
color="#0000ff" face="Arial" size="2">Cheers,</font></span></div>
<div dir="ltr" align="left"><span class="552015620-12062006"></span> </div>
<div dir="ltr" align="left"><span class="552015620-12062006"><font
color="#0000ff" face="Arial" size="2">Conor</font></span></div>
<br>
<div class="OutlookMessageHeader" dir="ltr" align="left"
lang="en-us">
<hr tabindex="-1"> </div>
<div class="OutlookMessageHeader" dir="ltr" align="left"
lang="en-us"><font face="Tahoma"><font size="2"><b>From:</b> <a
class="moz-txt-link-abbreviated"
href="mailto:delphi-bounces@ns3.123.co.nz">delphi-bounces@ns3.123.co.nz</a>
[<a class="moz-txt-link-freetext"
href="mailto:delphi-bounces@ns3.123.co.nz">mailto:delphi-bounces@ns3.123.co.nz</a>]
<b>On Behalf Of </b>Phil Middlemiss<br>
<span class="552015620-12062006"><font color="#0000ff" face="Arial"> </font></span></font></font></div>
<div class="OutlookMessageHeader" dir="ltr" align="left"
lang="en-us"><font face="Tahoma"><font size="2"><span
class="552015620-12062006"></span></font></font><font face="Tahoma"><font
size="2"><span class="552015620-12062006"><font face="Arial" size="2">[snip]</font>
</span></font></font></div>
<div class="OutlookMessageHeader" dir="ltr" align="left"
lang="en-us"><span class="552015620-12062006"></span> </div>
<div class="OutlookMessageHeader" dir="ltr" align="left"
lang="en-us">You should also be adding it to an IInterfaceList instead
of a TList.<br>
<br>
<p><font face="Arial" size="2">[snip]</font> </p>
</div>
</blockquote>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Delphi mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Delphi@ns3.123.co.nz">Delphi@ns3.123.co.nz</a>
<a class="moz-txt-link-freetext" href="http://ns3.123.co.nz/mailman/listinfo/delphi">http://ns3.123.co.nz/mailman/listinfo/delphi</a>
</pre>
</blockquote>
</body>
</html>