Приложение Delphi 2006 портит графический интерфейс в Windows 7

Я искал в Интернете решение. Также здесь, на Stackoverflow. Но мне пока не везет.

У нас возникла проблема с приложением Delphi 2006, работающим в Windows 7. Некоторые поля со списком не отображаются. Точно такое же приложение отлично работает в Windows XP.

Я пытался найти какие-либо патчи. Кто-нибудь из вас знает какие-либо ссылки или хаки, чтобы сделать графический интерфейс таким, каким он должен быть при запуске приложения Delphi 2006 в Vista/Windows 7?

Я нашел эту ссылку: http://www.theabsolute.net/sware/delphivista.html . Но это не решает моих проблем.

Любая помощь приветствуется.

/Брайан


person Brian Andersen    schedule 16.12.2009    source источник


Ответы (1)


Это может быть одна из нескольких проблем; вы не дали много деталей. «Некоторые поля со списком не отображаются» не очень помогает.

Вещи, с которыми я столкнулся, вызывали такие проблемы:

  • Крупные шрифты, когда приложение было разработано с использованием обычных шрифтов.
  • Пользовательские настройки DPI (например, 120 DPI вместо «стандартных» 96 DPI)

РЕДАКТИРОВАТЬ после комментария Брайана:

Это действительно странно. Я никогда не видел визуальных различий между приложениями, скомпилированными в IDE и командной строке.

Единственное, о чем я могу думать, это то, что версия для командной строки может иметь некоторые определения компилятора, которые влияют на поля со списком (маловероятно), или версия для командной строки видит другую версию .pas и .dfm, и эта версия не нет выпадающих списков на форме.

Вы можете попробовать убедиться, что на компьютере сборки есть только одна копия затронутых файлов .dfm и .pas, а затем перед компиляцией убедиться, что они имеют правильный вид. (Используйте поиск Windows, чтобы проверить наличие нескольких копий исходных файлов, и выполните поиск по всей системе, чтобы убедиться.)

У меня никогда не было этой проблемы с визуальными элементами управления, но она была с изменениями исходного кода, которые, казалось, не вступали в силу, или точками останова, которые не прерывались, потому что компилятор видел другую версию файла, чем я. Я не знаю, так ли это здесь, но, возможно, стоит проверить.

person Ken White    schedule 16.12.2009
comment
Привет Кен. Спасибо за ваш отзыв. Я не знаю, как еще я могу описать проблему? Моя неосведомленность вызвана моим знанием проблемы :о) Я немного приблизился к источнику проблемы. Получается, что приложение, скомпилированное с помощью IDE, отлично работает в Windows 7. Но то же самое приложение, скомпилированное с помощью нашего инструмента сборки, дает сбой. Мы используем компилятор командной строки DCC для компиляции нашего приложения. Мы пытались использовать DCC вручную (без инструмента сборки), и это вызывает ту же проблему с исчезнувшими выпадающими списками. Вот насколько далеко мы зашли с этой проблемой. /Брайан - person Brian Andersen; 17.12.2009