0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
|
||||||||||||||||
1 | ||||||||||||||||
Если пользователь повторит все действия не выходя из программы, то функция потока не выполняется20.04.2014, 00:30. Показов 776. Ответов 8
Метки нет Все метки)
(
Вот тут я создаю поток в режиме ожидания (флаг CREATE_SUSPENDED):
0
|
|
20.04.2014, 00:30 | |
Ответы с готовыми решениями:
8
Вывести на экран "условие выполняется", если все элементы массива положительные и "условие не выполняется", если это не так.
Regex - действия программы, если совпадений не найдено Отследить все действия программы |
Ушел с форума
![]() |
|
20.04.2014, 09:56 | 2 |
Сделать проверку ошибок. Например, проверить, что возвращают
CreateThread и ResumeThread при ошибке и что в этом случае говорит GetLastError. Затем код из GetLastError вбить в Error Lookup и получить текстовое описание проблемы.
1
|
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
|
|
20.04.2014, 17:05 [ТС] | 3 |
Забыл добавить, что при первом запуске потока когда он успешно запускается функция ResumeThread() возвращает 1, но после повторного запуска потока возвращает 0. Пытался выходить из потока путем ExitThread() - результат один и тот же
0
|
Ушел с форума
![]() |
|
20.04.2014, 17:28 | 4 |
wondered, после того, как функция потока полностью
отработает, поток завершается. То есть, с этого момента потока больше нет (хотя на него могут быть ссылки в виде открытых хэндлов, но это уже не имеет значения). Вызывать на таком потоке ResumeThread бессмысленно. И еще раз повторю - используйте GetLastError для получения более подробной информации об ошибке. По одному лишь FALSE очень мало чего можно понять.
0
|
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
|
||||||
20.04.2014, 20:51 [ТС] | 5 | |||||
По вашему совету воспользовался функцией GetLastError().
Пользуюсь примерно так:
0
|
Ушел с форума
![]() |
|
20.04.2014, 22:43 | 6 |
wondered, глупое спрошу, но Вы CreateThread второй раз вызываете ?
0
|
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
|
|
21.04.2014, 00:55 [ТС] | 7 |
Нет. Вызываю только один раз в начале функции main(). Код вызова CreateThread писал выше.
0
|
Ушел с форума
![]() |
|
21.04.2014, 11:56 | 8 |
wondered, функция потока отработала - поток завершен.
ResumeThread больше не сработает. Потока-то нет уже ! Вам нужно вызвать CreateThread повторно, чтобы создать еще один поток.
1
|
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
|
|
21.04.2014, 13:55 [ТС] | 9 |
Спасибо. Я почему-то думал что после выполнения функции потока поток переходит в режим ожидания до дальнейшего вызова Resumethread().
Дико благодарен за помощь ![]()
0
|
21.04.2014, 13:55 | |
Помогаю со студенческими работами здесь
9
Продолжить работу программы если пользователь ничего не ввел
Все элементы массива, следующие за заданным, возвести в квадрат, если выполняется условие
Почему если условие входа в цикл не выполняется, функция заново входит в цикл
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |