<!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>
&nbsp; FInterfaceList : IInterfaceList;<br>
public<br>
&nbsp; constructor create;<br>
end;<br>
<br>
constructor TMyObject.create;<br>
begin<br>
&nbsp; 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>&nbsp;</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>&nbsp;</div>
  <div dir="ltr" align="left"><span class="117441421-12062006"><font
 color="#0000ff" face="Arial" size="2">I've just started using a
&nbsp;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>&nbsp;</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.&nbsp; Could these two things be
related?</font></span></div>
  <div dir="ltr" align="left"><span class="117441421-12062006"></span>&nbsp;</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>&nbsp;</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">&nbsp;</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>&nbsp;</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>&nbsp;</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">&nbsp;</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>&nbsp;</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>