F2051 Unit %s was compiled with a different version of %s.%s (Delphi)

From RAD Studio
Jump to: navigation, search

Go Up to Error and Warning Messages (Delphi)

This fatal error occurs when the declaration of symbol declared in the interface part of a unit has changed, and the compiler cannot recompile a unit that relies on this declaration because the source is not available to it.

There are several possible solutions - recompile Unit1 (assuming you have the source code available), use an older version of Unit2 or change Unit2, or get a new version of Unit1 from whoever has the source code.

This error can also occur when a unit in your project has the same name as a standard Delphi unit.

For example, this may occur is when compiling a project written in a previous version of Delphi that did not have a unit of this name (for example, search.pas was not in Delphi 3).

To solve the problem in this case:

  1. Open <Unit2> and save it with a new name.
  2. Alter all references to <Unit2> in uses clauses to refer to the new name.
  3. Delete the old <Unit2>.pas AND <Unit2>.dcu versions of this unit.
  4. Rebuild the project.