
| Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
Создание Thread в винде
|
||
| Философия, технологии, алгоритмы! |
![]() |
|
|
Опции темы |
|
|
#1 |
|
Серж
Сообщений: 232
Регистрация: 13.02.2004
Возраст: 44
|
Создание Thread в винде
Блин опять трабла с потоками. Может сталкивался кто что нуна передать треду структуру типа
struct _THREAD_FUNK_PARAMS { LPSTR lpstrFile; HWND hwnd; } THREAD_FUNK_PARAMS,*PTHREAD_FUNK_PARAMS; Создаю переменную типа PTHREAD_FUNK_PARAMS pt=new THREAD_FUNK_PARAMS; заполняю ее члены.Далее вызываю hThread=CreateThread(NULL, 0, ThreadFunc, (LPVOID)pt,//threadparms, 0, &dwThreadID); Далее в функции потока(ThreadFunc(LPVOID lpParam)): PTHREAD_FUNK_PARAMS pthreadparms=(PTHREAD_FUNK_PARAMS)lpParam; и ничего в этой структуре нету. МОжет я опять че напутал с приведением типов или есть какая особенность в моем случае изза передачи указателей в структуре или еще чего не то. Заранее пасиб. |
|
|
|
|
#2 | |||
|
Registered User
Сообщений: 67
Регистрация: 08.07.2003
Возраст: 45
|
Цитата:
Цитата:
Цитата:
Было бы разумнее написать struct THREAD_FUNK_PARAMS { LPSTR lpstrFile; HWND hwnd; }; |
|||
|
|
|
|
#3 |
|
Серж
Сообщений: 232
Регистрация: 13.02.2004
Возраст: 44
|
Усе пасиб всем я уже понял свою ошибку опять на грабли наступил уже было.В общем насчет книжки по С++ давно хотел страустрапа заполучить. Да а структуру я описал как
typedef struct _THREAD_FUNK_PARAMS { LPSTR lpstrFile; LPSTR lpstrLink; HWND hwnd; } THREAD_FUNK_PARAMS,*PTHREAD_FUNK_PARAMS; и усе работает. В общем и на счет lpstr я понял просто объект на который я ссылался должен был быть постояннно в памяти а у меня сдесь он был локальным,Создал его через глобальную переменную и все пошло. |
|
|