Pracuję nad aplikacją MFC, która przez lata była dość niechlujna i nad różnymi zespołami programistów. Plik resource.h, który zawiera wszystkie mapowania poleceń/wiadomości, z czasem znacznie się powiększył i ma wiele problemów (takich jak duplikaty identyfikatorów). Nie jestem biegły w MFC, więc pytanie może wydawać się dość głupie ...MFC zasób resource.h/ID wiadomości
Dokumenty MSDN nie powinny być mniej niż WM_USER i WM_APP. Widziałem, że większość identyfikatorów poleceń w resource.h generowanych przez Visual Studio zaczyna się około 100. Czy nie powinno to powodować zakłóceń w komendach i komunikatach MFC/Windows, które pokrywają się z identyfikatorami zdefiniowanymi w aplikacji? Na przykład mam identyfikator polecenia:
#define ID_MY_ID 101
i istnieje polecenie systemu Windows, które ma ten sam identyfikator. Gdy MC wysyła to polecenie do aplikacji, jest ono obsługiwane jak aplikacja o nazwie ID_MY_ID, a aplikacja podejmuje niepotrzebne działania. Czy to możliwy scenariusz?
Czy istnieje również narzędzie innej firmy, które pomaga profilować zasoby projektu?
Aktualizacja 1:
New pojawił się pytanie: Co jest preferowanym sposobem dodawania nowych poleceń niestandardowych klas aplikacji? Jak zrozumiałem, zanim zostały dodane w następujący sposób: dodaj identyfikator polecenia do pliku resouce.h, a następnie dodaj program obsługi map wiadomości do klasy obsługi.
część problemu polega na tym, że identyfikatory zostały dodane ręcznie do resource.h, a procedury obsługi komend zostały również dodane ręcznie do map wiadomości. Tak więc kompilator zasobów prawdopodobnie nie będzie narzekał na takie duplikaty. Również narzędzie "symbole zasobów" zaznacza takie ręcznie dodane polecenia jako nieużywane, chociaż są one faktycznie używane. –
Narzędzie "symbole zasobów" oznacza tylko polecenia jako nieużywane, jeśli nie zostały znalezione w pliku zasobów (.rc). Nie monitoruje, czy są one używane w kodzie. – djeidot