Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.

ID: 24442, Citadel

by Francisco Sanchez Email:

Compresses and encrypts the DFMs in executables. This reduces the size of the application and protects your forms from hackers. Apply it in 1 minute.
Download Details
FTP  download also available
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For Delphi, Version 11.0  to 11.0 59 downloads
Copyright: All rights reserved

Size: 467,485 bytes
Updated on Mon, 26 Feb 2007 10:54:44 GMT
Originally uploaded on Mon, 26 Feb 2007 10:54:44 GMT
SHA1 Hash: CC919F09B31CEE9791A4DD440D90718199119445
MD5 Hash: 20207B8BB37F57502D7BBC6DEFCD7D60

    Explore the files in this upload

In Delphi the forms visual designs are encoded as dfm files and directly included into the executables as resources. This implementation has two disadvantages:

- They are fully exposed to the public.
- The format is very suitable at design-time, but too bloated at runtime.

We have designed a tool that fixes both problems and it will only take you 1 minute to implement. All you have to do is:

- add one component
- add one line of code to your project
- launch the Citadel Wizard

Compression: The benefits from getting a smaller executable are obvious. There are some products that compress executables. They get a very good compression ratio but need more memory to work, as the full executable must be loaded at startup and code memory is not shared between instances. Citadel just compresses the dfm resources and they are loaded on demand as usual, so it doesn't suffer these problems. If you like to use exe-compressors you can still use Citadel to possibly get even better compression (by using the pack option) and/or protect the dfms.

Encryption: Why would you want to encrypt your dfms? Anyone having access to your executable can extract their full dfms by using a resource editor. They even can modify them. If all they do is change the colors and control positions and sizes that's not bad, but what about if they change your copyright and logos to include their own? They could then redistribute your applications under a different brand name. Another minor benefit is that your competitors won't be able to see your forms' internal design.

DFM pack format: We have designed a alternative format derived from Delphi's own binary format. This format eliminates all superfluous information (this information may be important at design-time but not at runtime). The result is a much more compact format (this size reduction is minimized if you also use the compress option, as the compression ratio is not as good as Delphi's native format, but sometimes it is still remarkable). Another very important feature of this format is that it can only be decoded from inside the executing program, as it needs information only available through RTTI. This means that if you combine it with the encryption option your DFMs will get a really exceptional protection.

Remove relocations: This information is useless for EXEs and increases their size. This setting is unavailable for DLLs as they can get relocated.

For more information, see

   Latest Comments  View All Add New

Move mouse over comment to see the full text

Could not retrieve comments. Please try again later.

Server Response from: ETNACDC03