Любые известные проблемы с delphi для проверки совместимости с Windows 7

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

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

Ответ 1

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

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

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

* EDIT: из статьи MSDN (ссылка со звездочкой выше):

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

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

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

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

Ответ 2

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

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

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