Silver Black 23 Posted February 21, 2019 The new Dev version works perfectly. Thanks! Share this post Link to post
Khorkhe 1 Posted March 6, 2019 Hello, I'm encountering a problem with Delphi 10.3.1, which seems to show up nowhere on the forums so far: migrated a project from Delphi XE7 which was working fine for several years. in 10.3.1, the compiler is ignoring changes I make to a regular unit (.pas) of a VCL exe. Â Even adding a blatant syntax error (which shows a red entry in the IDE error list), when compiled, gets completely ignored, and the compilation succeeds. The DCU for this unit is re-timestamped, with what seems to be the source prior to the modification. Â the issue seems to be fixed (though not confirmed 100%) by enabling the "save upon compile or build"Â option. when saved, the updated content of the .pas seems to make its way into the dcu, and breakpoints can be set again, to match the new PAS content (instead of being offset to match the previous code). Â There are no duplicate unit names in the project, and a rebuild does not necessarily fix the issue. Â Has anyone else encountered this problem? I would like to see if this is only occurring at my site (i.e. project related) or if this is a known issue, with a bug filed for it. Â Thanks a lot! Share this post Link to post
Sherlock 663 Posted March 6, 2019 Please check your paths. Also you might want to consider deleting the .dproj and let Delphi rebuild a new one based on the .dpr  Share this post Link to post
Lars Fosdal 1791 Posted March 6, 2019 1 hour ago, Khorkhe said: in 10.3.1, the compiler is ignoring changes I make to a regular unit (.pas) of a VCLexe.  Every time this happens to me, there are duplicate source files on different paths. I believe I am editing ./myproject/thisversion/myfile.pas, while I actually am in ./myproject/thatversion/myfile .pas Sometimes this happens because I used find in files on the wrong path, or a file was included in the project from the wrong path. Share this post Link to post
Khorkhe 1 Posted March 6, 2019 (edited) Did the following:  - went over the search paths thoroughly, removed everything that was not necessary (sources of the current project, bins of required libraries).  - deleted the existing .dproj, let Delphi auto-create one  - did a global search made sure there is one and only one version of my sources on the PC  Still ignores unsaved pas. Worth noting that the project is not small.  Tried reproducing the issue on a fresh blank project but failed to do so.  Edited March 6, 2019 by Khorkhe missing info 1 Share this post Link to post
Uwe Raabe 2057 Posted March 6, 2019 Is the unit in question explicitly mentioned in the project or is it a unit that is only used indirectly? 2 Share this post Link to post
Khorkhe 1 Posted March 6, 2019 @Uwe Raabe the unit is explicitly mentioned in the project.  Some good news! I was able to reproduce the issue on a very small project (single unit) where all the big project specific details do not apply, see the info below and screenshot attached:   - in the code: the syntax error is visible, unsaved.  - top left: IDE detects the error  - project options: all defaults, no search paths  - messages: compilation success (same as popup window)  - windows explorer: exe and dcu have different timestamps, off by one minute: the exe was re-created on the second compilation, but the DCU was ignored.  to top it off, second screenshot shows the code saved, yet the problem persists.  not sure what to make of this. I do have a batch script that can delete all my generated outputs, full clean and rebuild, but this is not practical at all. when to trust that the compiler did its job correctly?  Share this post Link to post
Uwe Raabe 2057 Posted March 6, 2019 1 hour ago, Khorkhe said: I was able to reproduce the issue on a very small project Can you attach that here? Share this post Link to post
Khorkhe 1 Posted March 6, 2019 1 minute ago, Uwe Raabe said: Can you attach that here? already did, they are the two screenshots in my previous post. Share this post Link to post
Attila Kovacs 629 Posted March 6, 2019 (edited) just for curiosity what happens if you write in the uses list : uses .... Main.pas  in 'src\frm\Main.pas';  if it helps then you have an other main.pas in your search path and you should be able to open it with ctrl-click on the unit name in the uses list. Edited March 6, 2019 by Attila Kovacs Share this post Link to post
Khorkhe 1 Posted March 6, 2019 3 minutes ago, Attila Kovacs said: if it helps then you have an other main.pas in your search path. I'll give it a shot but if you check previously attached screenshot, the project search path is empty, and there's one dcu in the unit output directory. Share this post Link to post
Uwe Raabe 2057 Posted March 6, 2019 53 minutes ago, Khorkhe said: already did, they are the two screenshots in my previous post. You attached the screenshots, but I was referring to the small project. Share this post Link to post
Attila Kovacs 629 Posted March 6, 2019 (edited) I can easily reproduce this putting a 2nd unit1.pas anywhere in the search path and/or library path _AND_ storing the applications unit1.pas somewhere else like the .dpr itself. The search order is given.  (btw. IDE dies badly if you put a file into the uses lists with 0 bytes length :D)  Edit: Maybe some dead entries in the .dproj? It's suspicious that you didn't create a new project because it's not called Project1, did you copy the old one? Edited March 6, 2019 by Attila Kovacs Share this post Link to post
Khorkhe 1 Posted March 6, 2019 3 hours ago, Uwe Raabe said: You attached the screenshots, but I was referring to the small project. ah apologies for the misunderstanding. here it is: PBXAlert - Copy.rar Share this post Link to post
Uwe Raabe 2057 Posted March 6, 2019 I tried to reproduce it here, but unfortunately without success.  BTW, how did you manage to create the mainform twice in the DPR? Share this post Link to post
Attila Kovacs 629 Posted March 6, 2019 @Uwe Raabe Hehe, I managed it too a couple of weeks ago. Don't ask me how, but that was a looooong loooong debug session until I found the problem 😉 Share this post Link to post
Khorkhe 1 Posted March 7, 2019 (edited) 12 hours ago, Attila Kovacs said: IEdit: Maybe some dead entries in the .dproj? It's suspicious that you didn't create a new project because it's not called Project1, did you copy the old one? @Uwe Raabe found two main form entries, no clue how that could have happened, possibly the compiler migration? Cleaned it up in any case. this is a project started on XE7, which I've taken to 10.3 (no copy, just compile as is).  Uninstalled all addons (MMX, CNPack, GExperts) to isolate the problem.  It also seems I have located the culprit to be the "background compilation" option. Had it enabled since XE7 due to large cycles / long compilation, which have since gone down drastically to a point where the background compilation is no longer really needed.  This is reproducible on a fresh 10.3.1 project, maybe add a button and an OnClick event.  the current steps to reproduce:  - have background compilation on  - full build, just in case  - build passes successfully  - introduce syntax error, don't save  - compile without saving  - compilation passes successfully (incorrect behavior)  to fix:  - disable background compilation  - remove syntax error  - save and full build, just in case  - compilation passes successfully  - introduce syntax error, don't save  - compile without saving  - compilation fails (correct behavior) Edited March 7, 2019 by Khorkhe 1 Share this post Link to post
Sherlock 663 Posted March 7, 2019 Can't reproduce. BUT I have stupid Error Insight disabled. Which incidentally is recommended at this time (actually since it was introduced). Share this post Link to post
Lars Fosdal 1791 Posted March 7, 2019 It really annoys me that they didn't adapt Error Insight for inline declared variables. So ugly! Share this post Link to post
Dalija Prasnikar 1396 Posted March 7, 2019 Error Insight has always been Error Inside. It never worked properly, and was always lagging behind. 2 1 Share this post Link to post
Sherlock 663 Posted March 7, 2019 13 minutes ago, Lars Fosdal said: It really annoys me that they didn't adapt Error Insight for inline declared variables. So ugly! They would have a ton of other bugs to fix before adding this new feature...all in all it is a waste of time and energy, just scrap it and invest said time and energy into more crucial parts of the IDE. 1 Share this post Link to post
Lars Fosdal 1791 Posted March 7, 2019 So, let's just rename it to Insight Errors... 1 Share this post Link to post
Lars Fosdal 1791 Posted March 11, 2019 The new IDE skinning is a disaster. So! freaking! slow! 2 3 Share this post Link to post
Alexander Elagin 143 Posted March 11, 2019 1 hour ago, Lars Fosdal said: The new IDE skinning is a disaster. And they even removed the checkbox to disable theming from the IDE settings dialog in 10.3.1. Instead of fixing the obvious problems with said dialog. There still is a registry setting (probably left unnoticed 😉 ) which disables theming but they may as well remove it in the future releases leaving us with an unusable IDE... I wish all resources spent on this theming nightmare since XE2 (? don't remember when it all began) were allocated to real bug fixing. 5 Share this post Link to post
dummzeuch 1505 Posted March 11, 2019 7 minutes ago, Alexander Elagin said: I wish all resources spent on this theming nightmare since XE2 (? don't remember when it all began) were allocated to real bug fixing. And don't forget the resources spent on fixing that theming stuff, not just in the IDE but also in the IDE extensions. I spent several days just trying to fix things in GExperts that were broken due to introducing the theming bugs in theming bugfixes in theming And I am still not done. And GExperts doesn't even support theming itself, I don't want to consider the time it would take to actually support it (and I am definitely not going to spend that time). Â 1 Share this post Link to post