Здравствуйте, уважаемые.
Была dll и она нормально работает в WinXP т.е. потоки из функции DllMain создаются нормально. А вот в Win98 следующие траблы:
— даже в exe потоки создаются нормально только из другой функции, например:
DWORD WINAPI SecondThread(PVOID pvParam)
{
bla bla bla;
};
DWORD WINAPI FirstThread(PVOID pvParam)
{
//Это если из функции потоки создавать то работает
//Если б поток создавались из WinMain то этого не надо
CreateThread(NULL, 0, SecondThread, (PVOID) NULL, 0, NULL);
bla bla bla;
};
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
bla bla bla;
FirstThread(NULL);//От так работает
//А вот так не работает
CreateThread(NULL, 0, FirstThread, (PVOID) NULL, 0, NULL);
CreateThread(NULL, 0, SecondThread, (PVOID) NULL, 0, NULL);
};
— а в Dll потоки ваще не воткнул как создать (прекрасно работает в WinXP просто вызов CreateThread нормально работает даже из DllMain), а в 98й GetLastError = 87 после CreateThread, а если использовать _beginthreadex то возвращаемое значение 0
Заранее благодарен
... << RSDN@Home 1.1.4 beta 5 rev. 395>>