Qt winapi потоки |
Здравствуйте, гость ( Вход | Регистрация )
Qt winapi потоки |
mycoding |
17.11.2009, 18:01
Сообщение
#1
|
Студент Группа: Участник Сообщений: 52 Регистрация: 17.11.2009 Пользователь №: 1237 Спасибо сказали: 0 раз(а) Репутация: 0 |
Пытаюсь запустить потоки на qt используя winapi.
Но не работает выдаёт ошибку вот код
а вот ошибка
Прочитал одну статью здесь по такому же вопросу на этом форуме, но там не написано как это решать. |
|
|
Litkevich Yuriy |
17.11.2009, 18:15
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
argument of type `DWORD (MainWindow:: )(void*)' does not match `DWORD (*)(void*) ну собственно компиллер тебе явно говорит в чём ошибка:Цитата аргумент типа `DWORD (MainWindow::)(void*)' не соответствует `DWORD (*)(void*) hThread[i] = CreateThread(NULL, 0,RUN_THREADS, i, 0, что такое RUN_THREADS?
&IDThread[i]); |
|
|
mycoding |
17.11.2009, 18:48
Сообщение
#3
|
Студент Группа: Участник Сообщений: 52 Регистрация: 17.11.2009 Пользователь №: 1237 Спасибо сказали: 0 раз(а) Репутация: 0 |
Если есть возможность гляньте прогу вот
сорс http://dl.dropbox.com/u/2536325/qt_proga.rar В winapi всё в таком же виде работает... Ой, ссылка не рабочая вот рабочая http://moc-081.narod.ru/qt_proga.rar |
|
|
Litkevich Yuriy |
17.11.2009, 18:48
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
mycoding, ты лучше на вопросы отвечай, а то людям будет не интересно тему читать
|
|
|
mycoding |
17.11.2009, 18:54
Сообщение
#5
|
Студент Группа: Участник Сообщений: 52 Регистрация: 17.11.2009 Пользователь №: 1237 Спасибо сказали: 0 раз(а) Репутация: 0 |
А я потом и сорс выложу, он такой интересный )))
CODE void MainWindow::createthreads() { DWORD ID1; stop=0; for(int i=0;i<5;i++) phils[i].eat=100; for(int i=0;i<5;i++) { hThread[i] = CreateThread(NULL, 0,RUN_THREADS, i, 0, &IDThread[i]); if (hThread[i] == NULL) {std::cout << "Error";std::cout << GetLastError();} } } DWORD WINAPI MainWindow::RUN_THREADS(int i) { int n=(int)i; while(1) { think(n); take_forks_get_back_forks(n); } return 0; } RUN_TREADS это запуск потока номер i |
|
|
Litkevich Yuriy |
17.11.2009, 19:05
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
mycoding |
17.11.2009, 19:11
Сообщение
#7
|
Студент Группа: Участник Сообщений: 52 Регистрация: 17.11.2009 Пользователь №: 1237 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ну я этот вариант нам препод дал а я его уже реализую , мне тоже не нравится как сделано.
|
|
|
Litkevich Yuriy |
17.11.2009, 20:08
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SABROG |
17.11.2009, 20:13
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Я так понимаю он пытается передать указатель на метод RUN_THREADS. Этот метод вроде бы надо делать статическим или глобальным.
|
|
|
Elfinit |
17.11.2009, 20:28
Сообщение
#10
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
А каким боком это к Qt относится??
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 3:41 |