<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <tt>On 2012-03-08 14:51, Martin wrote:</tt>
    <blockquote cite="mid:4F58B970.2030201@mfriebe.de" type="cite"><tt>On
        08/03/2012 13:44, Martin wrote:
        <br>
      </tt>
      <blockquote type="cite">
        <tt><br>
          <br>
          In the following code, I thing is the problem:
        </tt>
        <tt><br>
          <br>
          Procedure TComponent.Notification(AComponent: TComponent;
        </tt>
        <tt><br>
            Operation: TOperation);
          <br>
          Var Runner : Longint;
          <br>
          begin
          <br>
            If (Operation=opRemove) and Assigned(FFreeNotifies) then
          <br>
              begin
          <br>
              FFreeNotifies.Remove(AComponent);
          <br>
          ...
          <br>
          <br>
          It removes only one of the 2 notify entries.
        </tt>
        <tt><br>
          <br>
          If opRemove is to remove FreeNotifications, then it mus remove
          them bi-directional, same as RemoveFreeNotification does
        </tt>
        <tt><br>
          <br>
        </tt>
      </blockquote>
      <tt><br>
        That is: I have not checked if Delphi removes the FreeNotify at
        all.
        <br>
        But I assume, if it does, it does both...
        <br>
      </tt></blockquote>
    <tt>I can confirm the D7 does remove both - it calls:<br>
      <br>
      <b>AComponent.RemoveNotification(Self);</b><br>
      <br>
      Regards,<br>
      Torsten Bonde Christiansen.<br>
    </tt>
  </body>
</html>