любые известные проблемы с Delphi для проверки совместимости с Windows 7 - PullRequest
10 голосов
/ 10 августа 2009

Существуют ли какие-либо конкретные проблемы, которые следует проверить на совместимость с Win7, когда приложение хорошо работает с Vista.

примечания: мое приложение использует Systray и имеет файл .Manifest.

Ответы [ 2 ]

3 голосов
/ 11 августа 2009

Короткий ответ, по-видимому, заключается в том, что большинство приложений, которые работают без особых проблем в Windows Vista, будут работать в Windows 7. Существует несколько хороших общих советов по совместимости приложений для Win 7 в сети CIOL , которые вам больше всего нужны знать, если вы переходите с Windows XP на Windows Vista, но общее резюме:

  • Не предполагайте расположение папки в Windows - Папки, такие как Program Files, My Music и т. Д., Могут изменять пути между версиями Windows. Например, папка «Мои документы» меняла местоположение в каждой версии Windows, начиная с XP.
  • Используйте правильные API при сохранении информации в реестре или в папках - Вы можете упасть в Windows UAC, если не используете "официальный" API. Vista и Windows 7 гораздо менее просты, чем XP, когда дело доходит до сохранения данных приложения в зависимости от его контекста (текущий пользователь, все пользователи, данные приложения и т. Д.).
  • Придерживаться принципов UAC - Функция Windows UAC была снижена со времени Windows Vista для Windows 7, но вы все равно должны писать свое приложение в соответствии с указаниями, такими как проектирование и тестирование запускать без прав администратора, за исключением случаев, когда это абсолютно необходимо.

В дополнение к этим советам: учитывая использование SysTray вашим приложением, вы можете проверить альфа-версию "Windows 7 Controls для Delphi" от Daniel Wischnewski . Он также написал посты 1 или 2 , демонстрирующие их использование, которые дают вам представление о некоторых новых визуальных различиях в этой конкретной области. Также было зарегистрировано несколько Windows 7/64-битных определенных ошибок для Delphi 2009, с которыми вы могли столкнуться во время разработки и тестирования вашего приложения.

3 голосов
/ 10 августа 2009

Если приложение хорошо работает в Vista, можно ожидать, что оно будет делать то же самое в Windows 7. Если в вашем файле манифеста отсутствует раздел «Совместимость», то ваше приложение по умолчанию будет работать в режиме совместимости с Vista, как описано здесь . *

Я предполагаю, что под "systray" вы имеете в виду область уведомлений. Пользовательский контроль над областью уведомлений улучшен в Windows 7, и вашим пользователям может потребоваться включить значок вашего приложения для отображения там. В документации MSDN предлагаются некоторые соображения относительно использования области уведомлений - что это действительно для краткосрочных уведомлений, особенно для приложений, которые не присутствуют на рабочем столе. Например, он не предназначен для быстрого запуска.

В этом контексте нет оснований ожидать проблем, связанных с Delphi.

* РЕДАКТИРОВАТЬ: Из статьи MSDN (ссылка со звездочкой выше):

Приложения, не имеющие раздела о совместимости в своем манифесте, получат Поведение Windows Vista по умолчанию в Windows 7 и будущих версиях Windows. Обратите внимание, что Windows XP и Windows Vista игнорируют этот раздел манифеста и не оказывает на них влияния.

Следующие компоненты Windows обеспечивают различное поведение на основе раздел Совместимость в Windows 7:

  • Пул потоков RPC по умолчанию
  • DirectDraw Lock
  • Передача битового блока DirectDraw (Blt) в основной без окна отсечения
  • API GetOverlappedResult
  • Помощник по совместимости программ (PCA)

Подробности для каждого поведения (Vista против Win7) можно найти в этой статье .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...