Code completion dislikes WinCE
Original Reporter info from Mantis: PascalDragon @PascalDragon
-
Reporter name: Sven Barth
Original Reporter info from Mantis: PascalDragon @PascalDragon
- Reporter name: Sven Barth
Description:
When setting target OS to WinCE (the platform is unimportant) the IDE will always use the last non-WinCE target that was set.
Take the following example:
program test;
var
{$ifdef win32}
test1: Integer;
{$else}
{$ifdef wince}
test2: Integer;
{$else}
test3: Integer;
{$endif}
{$endif}
begin
te|
end.
Press Ctrl+Enter and the IDE will display "test3" on Linux and "test1" on Win32 although the target is set to "WinCE". If you set the target to "Linux" and to "WinCE" after that, the code completion will display "test3" and if you set the target to "Win32" and to "WinCE" after that, the IDE will display "test1". "test2" is never provided.
The same problem applies to ifdef'd used units as well (which is worse than unavailable identifiers).
Additional information:
As I know this worked in 0.9.28 and 0.9.28.2 this is a regression.
Note: This test also works if you don't have a arm-wince compiler and its units available.
Mantis conversion info:
- Mantis ID: 18291
- Version: 0.9.29 (SVN)
- Fixed in revision: 29021 (#a7b29886)
- Target version: 0.9.30