Любые известные проблемы с 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, которые могут возникнуть при разработке и тестировании вашего приложения.