On 2017-11-03 23:52, Graeme Geldenhuys wrote:
Attached is a sample application reproducing the problem. Compile the
program with FPC 2.6.4 and everything works. Compile it with FPC 3.x and
no interface reference is ever returned.


Yet more testing..... Now I've managed to get it to work in all FPC versions. Yeah!!!

If I change my class that does interface delegation to the following syntax:

   TClassA = class(TObject, ICmdLine)
   private
    FCmdLineParams: TCmdLineImpl;
    function GetCmdLineParamsInterface: TCmdLineImpl;
property ChildDelegate: TCmdLineImpl read GetCmdLineParamsInterface implements ICmdLine;
   public
     destructor Destroy; override;
   end;


Then it works. Note I changed the function and property definitions.

Still strange that FPC 2.6.4 worked in my prior example and FPC 3.x not. I also didn't see any "User Changes" on the wiki about this changed behaviour of Interface Delegation.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to