This is strange. What could cause a "[dcc32 Error] smxLicenseSvc_Impl.pas(42): E2037 Declaration of 'InternalValidateLicence' differs from previous declaration" when the declarations are identical?

This is strange. What could cause a "[dcc32 Error] smxLicenseSvc_Impl.pas(42): E2037 Declaration of 'InternalValidateLicence' differs from previous declaration" when the declarations are identical?

function InternalValidateLicence(aLicence: TsmLicence): Boolean; virtual;
function InternalValidateLicence(aLicence: TsmLicence): Boolean; override;

Thanks

Comments

  1. Could it be picking up a different version of "TsmLicence" (from a dcu)?

    ReplyDelete
  2. In the uses clause in the implementation section you list a unit that declares TsmLicence, so hiding the type of the same name that was used in the interface section declaration of the method.

    ReplyDelete
  3. Ctrl+Click on both and look where you get to.

    ReplyDelete
  4. This was strange. It is a RemObjects project and this happened after I upgraded to 9.2.x In the end I recreated the RODL and al was fine. The build was creating a second TsmLicense definition in the descended interface fie.

    ReplyDelete

Post a Comment