совместимость программ для WinXp and Win2000
конкретные баги:
1. CString tmp;
tmp.LoadString(APP_TITLE);
в WinXP: все в порядке
в 2000: грузит совсем другую строку из ресурсов.
может буть несовместимость языковых параметров?
2. в одном дилоге, при нажатии на отмене, в ХР все отрабатывает нормально, а в 2000-й все вылетает. Тож непонятно.
причем трассировка под 2000-й дает мало результатов, потомучто физически не могу дойти до этого места в коде, из-за багов типа 1.)
Народ! Поможите! Мож кто знает в чем дело?! Спасибо!
Попробуй версию функции
BOOL LoadString( HINSTANCE hInstance, UINT nID );
соответственно с инстансом своей программы.
Ну или делай как я:
CString str( (LPCSTR)APP_TITLE );
к сожалению я не знаю как и почему это работает, но работает и под XP и под 2К. Вот и вопрос, может кто-то подскажет "как и почему".
Цитата:
Originally posted by Сергей К.
У меня совет-вопрос...
Попробуй версию функции
BOOL LoadString( HINSTANCE hInstance, UINT nID );
соответственно с инстансом своей программы.
Ну или делай как я:
CString str( (LPCSTR)APP_TITLE );
к сожалению я не знаю как и почему это работает, но работает и под XP и под 2К. Вот и вопрос, может кто-то подскажет "как и почему".
У меня совет-вопрос...
Попробуй версию функции
BOOL LoadString( HINSTANCE hInstance, UINT nID );
соответственно с инстансом своей программы.
Ну или делай как я:
CString str( (LPCSTR)APP_TITLE );
к сожалению я не знаю как и почему это работает, но работает и под XP и под 2К. Вот и вопрос, может кто-то подскажет "как и почему".
Предположу что вызывается другой конструктор для другого типа. А в конструкторе проверяется, если HIWORD(szStr) == 0, то загрузить из ресурсов (так как идентификатор в ресурсах размером WORD, а разрешенные к использованию адреса имеют чего-то там забыл чего в старшем слове.
Вобщем так и не понял в чем дело, но перенос нужных строк из string table в англ версию этой таблицы решил проблемы. С контролами в диалогах была проблема в том, что для модного ХР-шного интерфейса, в ресурсах был манифест.. ну вобщем его я тоже убрал.. вроде тьфу-тьфу работает.
Может кто нибудь знает про совместимость разноязычных версий ресурсов, как ими манипулировать, про настройку проекта язык ресурсов (project/settings/resources), и про то, почему под 2000-й идентификаторы ресурсов, такое ощущение сместились.. или быть может есть какието зарезервированные места для id ресурсов.. не знаю.