[fpc-pascal] Interfaces works in FPC 2.6.4 but not in 3.0.2
    Graeme Geldenhuys 
    mailinglists at geldenhuys.co.uk
       
    Sun May  7 00:37:56 CEST 2017
    
    
  
Hi,
I have CORBA style interfaces. My projects using them work perfectly in
FPC 2.6.4, but if I compile the project with FPC 3.0.2, I never get
a interface reference.
My class hierarchy is as follows:
  {$interfaces corba}
  ICmdLineParams = interface
    ['{EDF51E67-1119-11E6-B131-C86000E37EB0}']
    ...
  end;
  TfpgCmdLineParams = class(TObject, ICmdLineParams)
    ...
  end;
  TfpgApplicationBase = class(TfpgComponent, ICmdLineParams)
  private
    FCmdLineParams: TfpgCmdLineParams;
    property CmdLineParams: TfpgCmdLineParams read FCmdLineParams implements ICmdLineParams;
  end;
  TfpgApplication = class(TfpgApplicationBase)
    ...
  end;
Then the usage in my application:
var
  cmd: ICmdLineParams;
begin
  if Supports(fpgApplication, ICmdLineParams, cmd) then  // <<<< Never works
  begin
    ...
  end; 
end.
fpgApplication is a global instance of TfpgApplication.
The line marked with "Never works" never works with FPC 3.0.2, but
it does with FPC 2.6.4.
Can anybody explain this?
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
    
    
More information about the fpc-pascal
mailing list