Exception while using TStreamReader with TZipFile

Tuesday, May 13th, 2014 | Delphi Programming, Delphi XE6 | 4 Comments

If you’re using the TStreamReader with a TZDecompressionStream – the stream output by TZipFile.Read(const FileName: string; out Stream: TStream; out LocalHeader: TZipHeader) – you’re likely to experience the exception: EZDecompressionError with the message 'Invalid ZStream operation!'.
› Continue reading


Porting to XE5 and the “W1030 Invalid compiler directive: ‘true'” warning

Friday, March 14th, 2014 | Delphi Programming, Delphi XE5 | 5 Comments

If you port your application to Delphi XE5 and you receive this warning

[dcc32 Warning] W1030 Invalid compiler directive: 'true'
› Continue reading


There is already a standard code style

Monday, February 3rd, 2014 | Delphi Programming | 8 Comments

As François Piette (a very honourable Embarcadero MVP) recently wrote, coding style matters. He states “… this is mostly a matter of personal preferences as long as the style is constant…” but I totally disagree in this very important topic: there shouldn’t be any “personal preferences” in writing code. › Continue reading


VerySimpleXML – a lightweight Delphi XML reader and writer

There are lot of possibilities if you’re in need to parse or write XML files:

Now here comes another one: VerySimpleXML – a lightweight, one-unit XML reader/writer in under 500 600 lines of code. Use it for small well-formed XML files (like configuration files, etc.). › Continue reading

Tags: ,

Solving circular unit references with class helpers

Sooner or later you run into the circular unit reference problem when using a single unit for each class. There are some solutions (move the common used structs into a separate unit, use type casting, redesign your obvious bad class design, etc.) – this is a solution using class helpers. › Continue reading


How to change the language and background of the Cisco SPA504G

Tuesday, February 22nd, 2011 | Cisco SPA504G, VOIP | 9 Comments

This tutorial shows how to change the language of your VOIP phone Cisco SPA 504G / SPA508G / SPA500 series (Firmware 7.5.5)
› Continue reading

Eclipse on Mac OS X – Workspace error on NFS mounts

Friday, March 26th, 2010 | Eclipse, Mac OS X | 13 Comments

If you are using Eclipse on Mac OS X and experience a “Workspace in use or cannot be created, choose a different one” after moving your workspace to a NFS share, try running eclipse with these arguments:

./eclipse -vmargs -Dosgi.locking=java.io

or you may add this line to your /Application/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini file:


Tags: , , , , , ,

Lua 5.1 for Delphi 2010

Monday, September 28th, 2009 | Delphi 2009, Delphi 2010, Delphi Programming, Lua | 38 Comments

This is a Lua 5.1 Wrapper for Delphi 2009 and Delphi 2010 which automatically creates OOP callback functions.
› Continue reading

Tags: ,

WordPress Plugin – QR Code Tag v1.0

Saturday, September 19th, 2009 | Wordpress | 47 Comments

QR Code Tag

Use QR Codes (Google API or QR Code Lib) anywhere in your WordPress blog, as a Widget, Shortcode, Tooltip or with a PHP function.
› Continue reading

Favourite Android applications

Friday, September 18th, 2009 | Android | 4 Comments

Here are some of my favorite free essential Android applications
› Continue reading


About Dennis D. Spreen

I'm an avid programmer working on a variety of platforms in a variety of languages with a wide technical interest.


QR Code