I found a way to reproduce a problem very similar to your problem. Create a new delphi project and add in the .DPR (the main source of the project) an ifdef condition that contains some code like this that will not parse ...
program IdeTestProject1; {$ifdef FOO} bar {$endif} uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}, Unit3 in 'Unit3.pas' {Form3}, Unit4 in 'Unit4.pas' {Form4}, Unit5 in 'Unit5.pas' {Form5}, Unit6 in 'Unit6.pas' {Form6}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm5, Form5); Application.CreateForm(TForm6, Form6); Application.Run; end.
So my suggestion is that you find all the conditional compilation directives and other complex syntax, including any functions or code that are directly in DPR, and move it to another block. Any code completion, error understanding, or any other function of the tireless repair of this device, and this leads to a performance error.
source share