Я предполагаю, что у вас есть несоответствие между PixelsPerInch
на вашем компьютере и значением, сохраненным в файле .dfm.Когда Delphi считывает файл .dfm, он масштабирует любые размеры в соответствии с соотношением файла .dfm PixelsPerInch
и текущего значения PixelsPerInch
.
* 1005 вашего компьютера. Типичные значения
PixelsPerInch
- 96 точек на дюйм и 120 точек на дюйм.Обратите внимание, что
17*120/96 = 21
.
Теперь, как и для TabOrder
, среда IDE всегда записывает порядок формы в последовательных значениях.Таким образом, если в вашем файле .dfm отсутствуют какие-либо значения, IDE запишет другую версию значений TabOrder
.
Обратите внимание, что Delphi не может оставить свой файл .dfm в покое.,После того, как вы внесете какие-либо изменения в пространство дизайна и сохраните форму, Delphi будет транслировать ее в своем предпочтительном формате.
Это действительно неизбежное последствие способа обработки файлов .dfm.Среда IDE никогда не редактирует файлы .dfm напрямую, как это происходит с файлами .pas.Вместо этого он читает файл .dfm, создает компоненты, определенные в форме, и назначает их свойства.Когда файл .dfm необходимо сохранить снова, компоненты просят выйти из него.Таким образом, базовой моделью, в которой хранятся параметры, является экземпляр TComponent
(часто, например, форма), принадлежащий IDE, а не файл .dfm.