Environment:
Windows 10, Delphi Seatle 10
RxLibrary ( link )
I'm trying to compile a system originally developed in D7, in Delphi Seatle and I'm getting the following error:
Unit RxDateUtil was compiled with a different version of myapp.RxStrUtils.MakeStr
RxDateUtil and RxStrUtils are units (.pas) of the lib [RxLibrary] ( link ), it seems that, in the process of compilation, Seatle generates a dcu with the name of the application followed by the names of units of the lib, in this case "myapp.RxStrUtils.MakeStr", looking in the RxLibrary I find RxUtils, but I do not find either RxStrUtils.MakeStr or not only MakeStr.
This error occurs in the unit RxFileUtil, in the line:
uses{$IFNDEF VER80}{$IFDEF RX_D3}ActiveX, ComObj, ShlObj, {$ELSE}Ole2,
OleAuto, {$ENDIF}{$ENDIF}RxDateUtil, ...
Looking for network error, I found this link , which says more or less the following:
F2051: Unit% s was compiled with a different version of% s.% s (Delphi)
This error occurs when a symbol declaration on an interface is changed and the compiler can not recompile the unit referenced in that statement because the source is not available.
But please note that, in my case, unit2 does not even exist.
Another possible reason pointed out by the text is that the project might have a unit with the same name as a Delphi unit, so I would have to rename unit2, and change references to it, in my case it would be myapp.RxStrUtils.MakeStr , but how to do this if this unit does not even exist? or would it have to do this with RxStrUtils? but is there a unit in Delphi Seatle with that name?Does anyone use this lib with Delphi Seatle? Any tips?