|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 11
|
|||||||||||
Ошибка при работе с потоками16.04.2010, 11:49. Показов 1845. Ответов 10
Метки нет (Все метки)
в процессе работы поток добавляет записи в Memo1 на Form1. Запускаю на выполнение и если закрыть программу до завершения потока (я вижу это по записям в Memo), то происходит ошибка - см. вложение. что это может быть и почему? как вообще проще всего скрыть форму при закрытии и чтобы поток продолжал нормально работать?
0
|
|||||||||||
| 16.04.2010, 11:49 | |
|
Ответы с готовыми решениями:
10
Ошибка доступа к памяти при работе с потоками Ошибка при работе с потоками Ошибка при работе с потоками |
|
|
|
| 16.04.2010, 11:51 | |
|
не работать в потоках напрямую с визуальными компонентами (только через сообщения)
а ошибка (возможно) возникает из за того что при закрытии происходит разрушение и удаление контролов, а поток работает и пытается обратиться к ним (уже разрушенным)
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 11
|
|
| 16.04.2010, 11:53 [ТС] | |
|
вот я тоже думаю что на onClose программа не скрывает форму, а завершает работу. как на onClose имеенно скрыть форму?
0
|
|
|
|
|
| 16.04.2010, 11:58 | |
|
Обработать OnCloseQuery там параметр есть (bool CanClose вроде называется) ему присвоить false и в том же обработчика написать Hide(); Но программа таким образом не закроется совсем а просто исчезнет с экрана и убить ее можно будет только через диспетчер.
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 11
|
|
| 16.04.2010, 12:43 [ТС] | |
|
спасибо, а как мне внутри программы понять что программа скрыта? надо условие типа если прога скрыта то завершить ее после завершения потока
Добавлено через 13 минут при Hide в форме автоматически ставится visible=false; в потоке: if(!Form1->Visible) Application->Terminate(); почему то не работает
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|||||||||||
| 16.04.2010, 12:56 | |||||||||||
|
ndvikulov,
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 11
|
|
| 16.04.2010, 21:58 [ТС] | |
|
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||
| 16.04.2010, 22:15 | ||||||
|
Пример на функцию TerminateThread? Можно:
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 11
|
|
| 16.04.2010, 22:30 [ТС] | |
|
и что? мне нужно из потока завершить программу. прибив поток, основной поток останется выполняться. у меня выполняется программа и параллельно выполняется поток.
нужно чтобы при закрытии программы если поток уже завершился - находится в состоянии Terminated==true закрыть программы, а если поток еще не завершился, то при закрытии скрыть форму программу, и при окончании выполнения потока завершить программу
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
| 16.04.2010, 22:35 | |
|
ndvikulov, а кто мешает проверять существование дескриптора потока при закрытии?
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 11
|
||||||
| 17.04.2010, 10:44 [ТС] | ||||||
|
всё равно я не понимаю...
а почему не работает вот такой код?
0
|
||||||
| 17.04.2010, 10:44 | |
|
Помогаю со студенческими работами здесь
11
Ошибка при работе с потоками Ошибка в коде при работе с потоками Deadlocked ошибка. При работе с потоками Ошибка при работе с потоками. WTF?!?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|