2009-08-10 25 views

Odpowiedz

3

Jeśli aplikacja działa dobrze w Vista można oczekiwać, aby zrobić to samo w Windows 7. Jeśli plik manifestu brakuje sekcję zgodności, wówczas aplikacja będzie działać w trybie zgodności z Vista domyślnie, jak wyjaśniono here. *

Zakładam, że przez "systray" odnosisz się do obszaru powiadomień. Kontrola użytkownika obszaru powiadomień została ulepszona w systemie Windows 7, a użytkownicy mogą potrzebować włączyć ikonę aplikacji, aby się tam pokazać. MSDN documentation sugeruje kilka uwag dotyczących korzystania z obszaru powiadomień - jest to naprawdę krótkoterminowe powiadomienie, zwłaszcza w przypadku aplikacji, które nie mają obecności na pulpicie. Na przykład nie jest przeznaczony do szybkiego uruchamiania.

Nie ma powodu, aby oczekiwać problemów związanych z Delphi w tym kontekście.

* EDIT: Z artykułu MSDN (link z gwiazdką powyżej):

Aplikacje bez sekcji zgodności w swoim manifeście otrzyma zachowanie systemu Windows Vista domyślnie w systemie Windows 7 i przyszłymi wersjami Windows. Należy zauważyć, że system Windows XP i Windows Vista ignoruje tę część manifestu, a ona nie ma na nie wpływu.

następujące składniki systemu Windows zapewniają rozbieżne zachowania w oparciu o , sekcja Zgodność z Windows 7:

  • RPC Pool Domyślnie Temat
  • DirectDraw Blokada
  • DirectDraw Bit Blok transferu (TŚB) Primary bez obcinania Okno
  • GetOverlappedResult API
  • Asystent zgodności programów (PCA)

Szczegóły każdego zachowania (Vista vs. Win7) można znaleźć w that article.

+0

Testowałem zarówno z KOMPATYBILNOŚĆ bloku i bez niego, bez żadnej różnicy (zarówno działa dobrze). Czy jest jakiś powód, aby dodać blok zgodności z punktu widzenia użytkownika? – Tom

+0

OK, dodałem kilka szczegółów, ale pełne szczegóły znajdują się w połączonym artykule MSDN. – Argalatyr

3

Krótka odpowiedź wydaje się, że większość aplikacji, które działają bez większych problemów w systemie Windows Vista, będzie działała w systemie Windows 7. Istnieje pewna dobra ogólna podpowiedź dotycząca zgodności aplikacji na Win 7: on the CIOL network, z której należy przede wszystkim wiedzieć, przejście z systemu Windows XP do systemu Windows Vista, ale ogólnym podsumowaniu jest:

  • nie zakładaj lokalizację folderu Windows - foldery takie jak Program Files, Moja muzyka etc można zmienić ścieżki między wersjami systemu Windows. Na przykład folder Moje dokumenty zmienił lokalizację w każdej wersji systemu Windows począwszy od XP.
  • Użyj poprawnych interfejsów API podczas zapisywania informacji w rejestrze lub folderach - Jeśli nie korzystasz z "oficjalnego" interfejsu API, możesz wpaść w Windows UAC.Vista i Windows 7 są znacznie mniej wybaczające niż XP, jeśli chodzi o zapisywanie danych aplikacji w zależności od kontekstu (bieżący użytkownik, wszyscy użytkownicy, dane aplikacji itp.).
  • przestrzegać zasad UAC - Funkcja systemu Windows UAC został stonowanych od Windows Vista do Windows 7, ale należy jeszcze napisać aplikację zgodnie z wytycznymi podanymi takich jak projektowanie i testowanie go uruchomić bez administratora prawa, chyba że jest to absolutnie konieczne.

Oprócz tych wskazówek: podany Użyj swojej aplikacji na pasku, a może chcesz sprawdzić się z alfa "Windows 7 Controls for Delphi" from Daniel Wischnewski. Napisał także o numerach: 1 lub 2, demonstrujących ich użycie, które pozwalają poczuć niektóre nowe wizualne różnice w tym konkretnym obszarze. Opublikowano również kilka Windows 7/64 Bit Specific errors dla Delphi 2009, które możesz napotkać podczas programowania i testowania swojej aplikacji.

+0

Wymienione napomnienia dotyczą zarówno systemu Vista, jak i Windows 7, więc nie odpowiadają konkretnie na to pytanie. Dobra rada, w każdym razie. Podobnie wspomniane błędy są związane z D2009 ** IDE **, a nie skompilowanymi programami (te ostatnie są przedmiotem pytania). – Argalatyr

+0

Rzeczywiście. Wspomniałem o błędzie IDE, mimo że nie jest on kwestionowany, ponieważ jest to użyteczne informacje. Jeśli chce przetestować i zdebugować swoją aplikację pod Windows 7, jak mówi, to może spotkać się z tym problemem - dlatego pomyślałem, że wspomnę o tym i zaoszczędzę mu trochę czasu. – jamiei

+2

również Codesign, jeśli w ogóle możliwe. Pozwoli to uniknąć brzydszych dialogów, gdy użytkownik po raz pierwszy uruchomi aplikację. – skamradt

Powiązane problemy