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 1,862 other subscribers

Archive for 2015

windows – Find out whether an environment variable contains a substring – Stack Overflow

Posted by jpluimers on 2015/09/25

Very smart case insensitive way answered by jeb:

if NOT "%foo%"=="%foo:bar=%" echo FOUND

–jeroen

via windows – Find out whether an environment variable contains a substring – Stack Overflow.

Posted in Batch-Files, Console (command prompt window), Development, Power User, Scripting, Software Development, Windows | Leave a Comment »

Workaround for Delphi 2010 error Fatal : F2084 Internal Error: AV00434055-RA37CCB72-0

Posted by jpluimers on 2015/09/24

Often in Delphi 2010, you can get an error like this:

C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\Bin\CodeGear.Delphi.Targets(136,3): error : C:\Users\Developer\Versioned\Spring4D\Source\Base\Reflection\Spring.Reflection.pas(1647) Fatal
: F2084 Internal Error: AV00434055-RA37CCB72-0

There is a very simple workaround:

  1. If you are in the IDE: quit the IDE
  2. Delete all .dcu files the project generates
  3. If you were in the IDE: restart the IDE and reload the project
  4. Compile the project again

Note:

Sometimes it pays off back-porting to Delphi 2010: the generated executables are a lot smaller than more recent Delphi versions which can make a huge differenec when uploading many versions of bootstrap binaries to a version control system.

–jeroen

Posted in Delphi, Delphi 2010, Development, F2084, Software Development | Leave a Comment »

Syntax highlighting

Posted by jpluimers on 2015/09/23

Visual Studio 2013 syntax highlighting: watch the closing curly brace.

 Console.WriteLine(“URL IS : http://localhost/:{0}”, portnumber);

–jeroen

20141211-Syntax-Highlighting

Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development, Visual Studio 2013, Visual Studio and tools | Leave a Comment »

Do publish your .dproj/.groupproj in your version control systems (via: DelphiTools)

Posted by jpluimers on 2015/09/22

But I partially agree with the statement that Eric Grange made at DelphiTools as part of his post via Don’t publish your .dproj/.groupproj a few years ago:

Ad interim, .dproj are just a kludge by design

I completely disagree with hist blog post title: in my opinion “Do publish your .dproj/.groupproj in version control systems”

The discussion that followed in the comments was quite interesting: to bad I missed it back then.

Both .dproj and .groupproj are indeed a bit of a kludge. The main reason is that there is little documentation about them on the Embarcadero sites: most of it are threads on the forums.

msbuild

If you remember that basically they are just msbuild XML files, which is part of the .NET 2.0 framework and higher, and both extensively documented and extendable, then it gets much easier. Read the rest of this entry »

Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 8 Comments »

Too many WLANs…

Posted by jpluimers on 2015/09/21

32 WLANs just on the ground floor…

Name (SSID) Channel MAC Address
ASUS-RT-N66U-PSO-1-2.4 6 10:BF:48:D3:3D:20
ASUS-RT-N66U-PSO-1-5 44 10:BF:48:D3:3D:24
UPC0053284 1 80:C6:AB:08:89:88
Ziggo 1 82:C6:AB:08:89:8A
WLAE-AG300N-PSO-2 11 4C:E6:76:0F:50:42
FRITZ!Box 7490 13 34:31:C4:CE:CE:AE
ASUS-RT-N66U-PSO-2-Tomato24 6 10:BF:48:D2:F5:E8
FRITZ!Box 7490 36 34:31:C4:CE:CE:AF
H368N8D6382 8 34:4D:EA:8D:63:82
Sitecom303E5E 11 64:D1:A3:30:3E:5E
KPN Fon 8 62:4D:EA:8D:63:83
VGV75198FB7F6 11 84:9C:A6:8F:B7:F6
Sitecom2eb939 6 64:D1:A3:2E:B9:3B
Sitecom_ee8c98 11 00:0C:F6:EE:8C:98
UPC515789 1 E8:40:F2:80:68:CF
dLAN Netwerk 11 BC:F2:AF:B5:C9:4A
ASUS-RT-N66U-PSO-2-Tomato50 36 10:BF:48:D2:F5:EC
Sitecom327664 3 64:D1:A3:32:76:64
Prins Maurits Experia 1 4C:09:D4:20:CC:55
VGV7519FC7C1C 3 4C:09:D4:FC:7C:1C
Ziggo 1 EA:40:F2:80:68:C1
UPC245262667 1 DC:71:44:80:6D:48
Sitecom0DDDD0 9 64:D1:A3:0D:DD:D0
VGV7519BD731C 13 88:03:55:BD:73:1C
Ziggo 13 82:C6:AB:2A:5A:A2
UPC0041308 13 80:C6:AB:2A:5A:A0
UPC0053284 1 84:1B:5E:39:B9:68
UPC738371 1 E8:40:F2:94:35:87
Miami Beach 1 9C:C7:A6:AA:CA:59
Ziggo 1 EA:40:F2:94:35:89
UPC2612067 6 88:F7:C7:4F:27:12


view raw

WLANs.md

hosted with ❤ by GitHub

The top floors are even worse. Some of them are mine, so I want to find a seamless handover for that. Which I only can do if I’ve merged my various networks that connect to the WiFi devices into a big one.

That requires a good but competitively priced multi-WAN router which I’m still searching for: any hints for such a device are welcome as well as configuration tips.

Some people seem to love Ubiquity, even for seamless. Are those straightforward to configure?

–jeroen

PS: Converted from my Fritz!Box copied Wireless Radio Networks table

Easily create tables in extended Markdown format supported by Markdown Here and GFM.

Source: Markdown Tables generator – TablesGenerator.com

Posted in Power User, Ubiquiti, WiFi | Leave a Comment »

How to automate Adobe Acrobat XI Standard to re-compress a lot of PDFs? – via: Super User

Posted by jpluimers on 2015/09/21

A while ago I asked compression – How to automate Adobe Acrobat XI Standard to re-compress a lot of PDFs? – Super User.

Back then it saved about 80% of the total file size. Very substantial.

Recently I needed to convert another (smaller, but still substantial) bunch of PDF documents and saw I forgot to post the solution here:
Read the rest of this entry »

Posted in Adobe, Adobe Acrobat, Everything by VoidTools, Power User, Windows, Windows 7, Windows 8, Windows 8.1 | Leave a Comment »

Can a Raspberry Pi do NAT port forwarding to a non LAN address? If so, what…

Posted by jpluimers on 2015/09/19

Can a Raspberry Pi do NAT port forwarding to a non LAN address? If so, what distribution would be the easiest one?

Johannes Self added some nice comments for generic Linux distributions in the G+ thread, but just in case my blog readers have even more concrete answers…

–jeroen

Posted in *nix, Development, Hardware Development, Internet protocol suite, Power User, Raspberry Pi, TCP | Leave a Comment »

Batch file to open a specific TCP port in Windows 7 / 2008 Server and up

Posted by jpluimers on 2015/09/18

Thanks to the answer by Kevin Richardson on How to open ports on Windows firewall through batch file, I wrote this batch file that uses the add command of the Netsh AdvFirewall Firewall Commands which requires Admin privileges to run:


:: open port (first argument passed to batch script, second argument is description)
:checkPrivileges
net file 1>nul 2>nul
if '%errorlevel%' == '0' ( goto :gotPrivileges ) else ( goto :getPrivileges )
:isNotAdmin
:getPrivileges
echo You need to be admin running with an elevated security token to run %0
goto :exit
:isAdmin
:gotPrivileges
netsh advfirewall firewall add rule name="Open Port %1 for %2" dir=in action=allow protocol=TCP localport=%1
:exit
::pause
exit /b

–jeroen

via: How to open ports on Windows firewall through batch file – Stack Overflow

Posted in Firewall, Infrastructure, Microsoft Surface on Windows 7, Power User, Windows, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 | Leave a Comment »

Delphi 2010: Compiler understands $(platform) but not $(config), but debugger understands neither.

Posted by jpluimers on 2015/09/17

If, like Delphi XE and higher, your organise your projects to use output directories like ...Bin\Delphi####\$(Platform)\$(Config), and back-port to Delphi 2010, then

  • The Delphi 2010 compiler puts the files in almost the right directory ...\Bin\Delphi2010\Debug\Spring.Tests.exe
  • The Delphi 2010 debugger barfs with this message:
---------------------------
Error
---------------------------
Could not find program, '...\Bin\Delphi2010\%Platform%\%Config%\Spring.Tests.exe'.
---------------------------
OK   
---------------------------

So you might think that it is enough to hard code this in your base configuration:

  • Platform=Win32

Well no, the debugger still shows the above error message. Despite the compiler putting it in the correct directory: ...\Bin\Delphi2010\Win32\Debug\Spring.Tests.exe

So there are 3 configurations for the output directory:

  • Base (for documentation purposes only)
    • Bin\Delphi2010\$(platform)\$(config)
  • Debug
    • Bin\Delphi2010\Win32\Debug
  • Release
    • Bin\Delphi2010\Win32\Release

You might think: why is Spring4D still supporting Delphi 2010?

Two simple reasons:

  • many people still use it
  • it produces relatively small executables, which still is important in some situations like producing our own Build tool and keeping binary versions of that in our version control system

–jeroen

Posted in Delphi, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 1 Comment »

Delphi installs: cleaning up space from %ProgramData%

Posted by jpluimers on 2015/09/16

A while ago I asked this on G+:

I’ve a VM with many Delphi versions and want to clean up space from %ProgramData% to install more. I think somewhere in the comments it was mentioned what to delete from %ProgramData% to lessen the disk space used by Delphi installations. […]

The VM is on an SSD, and the GUID directories there total to about 50 gigabytes.So any reminder what I can delete there would be much appreciated (:

Besides saving disk space, another advantage is that you get far less duplicates when indexing your filesystem with Everything: the directories contain copies of all files also present in the final installation (like %ProgramFiles%, etc).

Thanks to Ilya S, below are my notes for cleaning up a machine that has Delphi 2007 and Delphi 2010-XE6 installed.

In these folders, backup delete all subdirectories but the directory OFFLINE. Don’t delete files. Keep the backups in case you need them.

Read the rest of this entry »

Posted in Delphi, Delphi 2007, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 3 Comments »