I just bought XE2 version, installed the update 1 ISO, and made my Open Source projects compile with it.
In fact:
- I added the source code paths of the library to the general settings IDE (for all platforms I use, i.e. Windows 32 bit and 64 bit up to now);
- I compiled the
TestSQLite3.dprregression tests of our framework – no problem: EXE is compiled and all tests passed; - I’ve a strange issue with the IDE background compilers: even if the project compiled, the IDE displays some errors about unknown files (not in the bottom compiler messages, but in the top of the classes navigation tree – left to the source code editor), and in the .dpr source code, the unit names are underlined in red, and I’m not able to navigate inside the source (using Ctrl+Click on a symbol).
I’ve added the source code paths of the library to the project options (for Win32/Win64 – even if it was already set at the global IDE level). Now the errors about unknown files disappeared, but the unit names are still underlined in red in the source code, and the Ctrl+Click does not work.
The TestSQLite3.dpr source code do not specify the full path of the units:
uses
{$I SynDprUses.inc}
Windows,
Messages,
SysUtils,
Classes,
SynCrypto,
SynCrtSock,
SynCommons,
SynDB,
SynOleDB,
SynDBOracle,
(...)
In the above lines, SynCrypto, SynCrtSock, SynCommons are underlined in red.
My actual guess is that full paths are needed in the .dpr (SynCrypto in '..\SynCrypto.pas'). I did not test this because I don’t have XE2 at work.
Since there was no issue with the previous IDE with this kind of source code (it worked from Delphi 6 up to XE), I wonder if there is a possibility of regression, or a new option not available with the previous version of the IDE (probably platform-based) which I did not set properly. Or perhaps the full path is now needed in .dpr – but this sounds like a regression in the Code/Error Insight compiler to me.
I asked the question to Dr Bob (by whom I bought the XE2 license – since the 1 $ = 1 € equation sounded a bit unfair, I wanted at least to have a real Delphi expert for being my reseller).
Here is his answer:
So I’m afraid this is some regression…
Edit at closing question:
First point is that adding full paths:
in the .dpr did let the files been found – but the background compiler is still lost, unable to find a class declaration in this body.
Just another regression sample:
Is a perfectly safe syntax, compiles just fine, was interpreted by the previous Error Insight compiler without any problems (works since Delphi 5), but fails under XE2.
I’m a bit disappointed about XE2 IDE. Compiler makes it work. But IDE is really disappointing. It is not usable, from my point of view. I’ll continue using Delphi 7 as my main editor, and just use XE2 as cross-platform compiler and debugger.