The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 4,224 other subscribers

Archive for May 24th, 2016

Delphi XE8 does not adhere the `$(PROJECTNAME)` in a “Unit Output Directory”, but does recognise `$(SanitizedProjectName)`…

Posted by jpluimers on 2016/05/24

The background here was a quick project at a client where many .dproj files were in the same directory, but they suffered from conditional define differences. Which meant that even if they were all using the  DEBUG configuration, some defines in the .dproj directories were different therefore poisoning shared .DCU files (as Delphi does not automatically rebuild them when the sources have not changed even though the IDE switched to a new project).

There was no quick possibility to reorganise the project structure (a combination of a version system history being problematic and potentially lots of relative path references in the .dproj and .dpr files could still be broken) so I wanted different “Unit Output Directories” for each project preferably using non-hardcoded project name.

So I tried putting $(PROJECTNAME) in a “Unit Output Directory”. But unlike build-events – where that one has a value – in the Directory it hadn’t.

To cut things short, Uwe Raabe did some spelunking in the .dproj file and found that $(SanitizedProjectName) was recognised so I switched to .\$(Platform)\$(Config)\$(SanitizedProjectName).

Putting it in the OutputDirectory (where your .EXE gets emited) fails for most part. Yes, the .EXE gets put in the right directory. No, the debugger cannot find it as it thinks it needs to use %SanitizedProjectName%. No for TestInsight: it cannot find the EXE either because of the % expansion.

Based on SanitizedProjectName, I did some more spelunking coming with the below list. Remember though:

Only tested for Win32 applications for Delphi XE8

I assembled the list by doing a quick sed on a Delphi XE8 Win32 .dproj file transforming all XML element names to $() form then running it through a uniq like script. After that I added each of them in a “Unit Output Directory” prepended with .\_\ (well I cheated a bit, I did them in groups separated by a back-slash and went back to single items in case of failures. A kind of ‘binary search’).

Ensure the ones you use, are defined before you use them. For example: the definition of SanitizedProjectName need to be in the .dproj file before actually using SanitizedProjectName.

These expand to empty strings:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Delphi XE8, Development, Event, Software Development | 2 Comments »

How can I get Win10_1511_1_English_x64.iso or Win10_1511_1_EnglishInternational_x64.iso ?

Posted by jpluimers on 2016/05/24

I now officially hate Microsoft download sites.

I’m trying to fix a friends PC where Windows 10 has screwed up (after he installed, it loads, but the screen turns black without a mouse cursor which indicates the video drivers are likely hosed). There is no F8 boot option in Windows 10 any more so I need media. redirects to which forces you to download a “Media Creation Tool” that complains I don’t have 8 gigabyte free disk space.

I have. Just not on the C: drive freaking morons!

But won’t let me download the ISOs.

Searching around, it looks like I need Win10_1511_1_English_x64.iso or Win10_1511_1_EnglishInternational_x64.iso

Does anyone know how to get them?



Posted in Power User, Windows 10 | 5 Comments »

Somfy Smoove Origin RTS Protocol | PushStack

Posted by jpluimers on 2016/05/24

Interesting: Somfy Smoove Origin RTS Protocol | PushStack a base to start Hacking Somfy.

The Somfy protocol is tricky as it uses rolling keys.

More interesting links:

These are in Dutch, but very interesting as they show how to do reverse engineering and getting it to work hardware wise:

Read the rest of this entry »

Posted in Arduino, Development, Hardware Development, Hardware Interfacing, Raspberry Pi | Leave a Comment »

%d bloggers like this: