Я наконец-то получил в свои руки Delphi 2009, и после внесения необходимых корректировок мой проект теперь компилируется и работает нормально. :)
Чтобы быстро получить результаты, мне сначала пришлось закомментировать один немного более сложный модуль приложения, так что он еще не на 100% сопоставим, но он уже кажется достаточно безопасным, чтобы предсказать это, несмотря на значительное количество строковых литералов в нашем исходном коде (чрезмерное сообщения журнала отладки) размер двоичного файла, скомпилированного с Delphi 2009, вероятно, будет примерно таким же, как и раньше - если не на самом деле меньше!
Интересно, действительно ли компилятор Delphi выполняет какое-либо сжатие двоичных файлов или, по крайней мере, его разделов ресурсов каким-либо образом? Я действительно ожидал бы, что изменение строковых литералов UTF-16 окажет большее влияние в этом конкретном приложении. Действительно ли литералы хранятся как (несжатый) UTF-16 внутри двоичного файла?
У меня еще не было времени исследовать различия в объеме памяти.
РЕДАКТИРОВАТЬ: Не связано непосредственно с Unicode, но определенно связано: Андреас Хаусладен недавно опубликовал интересную информацию о (значительном) влиянии параметра компилятора {$STRINGCHECKS}
(BTW: включен по умолчанию) на скомпилированный исполняемый размер: http://andy.jgknet.de/blog/?p=487