Re: Unicode и Windows9x/Me
От: AlienB5 Россия  
Дата: 05.10.04 10:07
Оценка:
Здравствуйте, Павел Блудов, Вы писали:

ПБ>Статья:



ПБ>Авторы:

ПБ> Павел Блудов

ПБ>Аннотация:

ПБ>В статье рассматриваются способы создания уникодных приложений, способных выполняться в Windows9x/Me

В статье есть 2 маленькие ошибки, хотя в исходниках, что идут со статьей, их нет:
1.
Неправильно:
while(pNamesTable->u1.AddressOfData)
{
... // нет инкремента pNamesTable++
}

Правильно:
for(;pNamesTable->u1.AddressOfData; pNamesTable++)

2. ( Скорее всего это не ошибка, а — недописка )
В той части статьи, где рассказывается о "Проблеме отложенной загрузки",
необходимо сказать, что метод _UnicowsInit тоже изменился:
Было:
_UnicowsInit()
{
...
// Запонимаем таблицу имен и адресов
g_pdwOrd = MakePtr(LPWORD, g_hModuleUnicows, pExpDir->AddressOfNameOrdinals);
g_pdwNames = MakePtr(LPDWORD, g_hModuleUnicows, pExpDir->AddressOfNames);
g_pdwAddrs = MakePtr(LPDWORD, g_hModuleUnicows, pExpDir->AddressOfFunctions);
g_dwNames = pExpDir->NumberOfNames;

return TRUE;
}


Стало:
_UnicowsInit()
{
...
// Запонимаем таблицу имен и адресов
g_pdwOrd = MakePtr(LPWORD, g_hModuleUnicows, pExpDir->AddressOfNameOrdinals);
g_pdwNames = MakePtr(LPDWORD, g_hModuleUnicows, pExpDir->AddressOfNames);
g_pdwAddrs = MakePtr(LPDWORD, g_hModuleUnicows, pExpDir->AddressOfFunctions);
g_dwNames = pExpDir->NumberOfNames;
_RealGetProcAddress = GetProcAddress;

return TRUE;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.