[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