Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Bob Swart (aka Drs.Bob) Dr.Bob's Delphi Clinics Dr.Bob's Delphi Courseware Manuals
View Bob Swart's profile on LinkedIn Drs.Bob's Delphi Notes
These are the voyages using Delphi Enterprise (and Architect). Its mission: to explore strange, new worlds. To design and build new applications. To boldly go...
Title:

XE8 system.dcu and daylight savings time

Author: Bob Swart
Posted: 3/30/2016 12:13:23 PM (GMT+1)
Content:

Yesterday, I started Delphi XE8 and compiled a project, or at least I tried, because I got the message "Fatal Error F1027 Unit not found: System.dcu or binary equivalent (.dcu)". Delphi 10 Seattle continued to work just fine, and the Library Path was still correct, so initially I had no idea what was going on.



Until I looked at the System.dcu file in the Embarcadero\Studio\16.0\lib\win32\release directory. The file had an empty "modified date". Which is a bit strange.



Since I still had Delphi 10 Seattle up and running, I quickly wrote a little program to report the file creation time, last modified time and last access time. And it appeared that almost a dozen files in the lib\win32\release directory had an empty (1899) last modified time. Most likely leading to the aforementioned compiler error.

Could this be the result of the December 2015 XE8 Subscriber Update that I recently ran? Probably not, since I had used XE8 several times since then. But then I remembered that last Sunday (at least in my part of Europe), we entered the Daylight Savings Time period. Losing one hour of sleep, and possibly a bit more than that if I hadn't figured out a way to solve it...

Other targets (like Win64) also suffered from the same problem, so again I used Delphi 10 Seattle to write a unit to recursively parse the 16.0\lib directories, looking for files with a creation date later than the last modified date, and fixing it by setting the last modified date to the creation date (at least that seems to work).

I must add that I'm running Windows Server 2008, and have not installed Delphi XE8 on Windows 10 (which is were Delphi 10 is running happily), so maybe it's just me. But if you also have troubles compiling something with XE8 since you entered daylight savings time, perhaps you face the same issue.

You can download the source code for my little FiXE8 tool but please nNote that my "fix" can only be used at your own risk. I noticed that the IDE would give me an Access Violation (read of 00000000) when I first restarted Delphi XE8. But it has been working without problems ever since.
So make a backup first, and see if this can be a little help.

Back  


10 Comments

AuthorPostedComments
Stefan Glienke 16/03/30 13:16:02What are those bak files for those dcus without last modified time in your screenshot?
Bob Swart 16/03/30 13:43:52Hmm, good question. Perhaps they were the result of an incomplete hotfix? Maybe this was just an update that didn't complete on my system. I guess it's just me, since I haven't heard anyone else with the same problem... (but it did happen on both my old workstation and laptop, so it was reproducible ;-))
seems to be only your installation 16/03/30 16:09:36My installation of Delphi XE8 on Windows 8.1 does not have any dcus with an empty modified date/time
Thomas Mueller 16/03/30 16:10:20(oops, I should read what the label says before posting)
Thomas Mueller 16/03/30 16:10:56Seems to be only your installation, my Delphi XE8 installation on Windows 8.1 does not have any dcus with an empty modified date/time.
Thomas Mueller 16/03/30 16:11:20Seems to be only your installation, my Delphi XE8 installation on Windows 8.1 does not have any dcus with an empty modified date/time.
Bob Swart 16/03/30 18:49:21It's probably my installation. The only strange thing is that it's my installation on both my workstation and laptop, after running the XE8 December 2015 update (last month) and passing through daylight savings time. It's probably me, and I'm happy about that, because I was able to solve it. I hope nobody else is getting this problem ;-)
coco ser vice 16/03/31 14:01:42THfb4H Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is wonderful, let alone the content!
willems davy 16/04/05 10:20:27not delphi related but 2 of our customers had a similar problem with daylight saving time making our program work incorrectly. And it also happened due to daylight saving time. The problem here was that the creation date was empty or at least showed empty in explorer.exe. When looking at the properties of such file we saw creation dates from in the future like 04/09/2424 etc. Both of our customers that had the problem we're using a synolgy nas where files were located on. We had to use a tool to to change the creation dates and it was fixed. So it's probably not related to something delphi specific. Also at our company we also have a synoloy nas running but it did not had the problems.
photoeditor 16/04/06 10:02:236oKA5F Muchos Gracias for your blog article.Much thanks again. Want more.


New Comment (max. 2048 characters, no HTML):

Name:
Comment:



This webpage © 2005-2014 by Bob Swart (aka Dr.Bob - www.drbob42.com). All Rights Reserved.