|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.05.2009, 18:15 | #1 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
Как правильно завершить поток
Здравствуйте!
В потоке, есть Exception, исходя из значения которого мы передаем управление завершению этого самого потока, но при этом появляется вот такая неприятность когда маркер трассировки появляется на LabelRename.Suspend; () и по нажатию на Ok непонятно почему мы снова возвращаемся в поток (F7), а маркер стоит на Form1.http1.Get(Form1.edit_guest_ad ress.Text); и только потом, поток вроде бы, завершается :confused: но опять же как он завершается, переходим на LabelRename.Suspend; и после этого сразу же бежим в Exit потока не делая ничего, или может просто Delphi 7 трассируя как иногда бывает не показывает что что то там делается :) Поток Код:
Код:
Последний раз редактировалось Des; 08.05.2009 в 18:21. |
08.05.2009, 18:25 | #2 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Код:
Код:
Может Код:
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Последний раз редактировалось Neeter; 08.05.2009 в 18:43. |
08.05.2009, 18:52 | #3 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
Иногда пытаясь из самого потока, то-есть из LabelRename.Execute делать Suspend; появляется ошибка: (на память не совсем помню) Отказано в доступе ошибка 5...
Вот сейчас сижу извращаюсь, и все думаю что придется programmhalt в отдельный поток пихать и вызывать уже синхронизацией. Но если на то пойдет, то мне ооочень многое придется забивать в отдельные потоки, а это явно больше 16, кажется это максимум что можно делать в Windows XP, ну по крайней мере советуют не больше =) |
08.05.2009, 19:08 | #4 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
Пробовал, результата ни какого...
А паузу ставить нужно я думаю в начале, иначе поток успеет что нибудь предпринять))) К примеру сейчас вот поставил терминате в конец programmhalt'а, и ошибка на подобие вышенаписаной появляется на строке Код:
Полез читать маны которых найти не смог |
08.05.2009, 19:45 | #5 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
неужели это идиальный способ завершить поток ?
http://forum.codeby.net/topic3392s0....40&#entry16640 |
08.05.2009, 20:56 | #6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как завершить процесс на удаленном Хосте? | Stilet | Win Api | 4 | 25.03.2009 13:06 |
Как завершить программу по условию | Iceman | Общие вопросы Delphi | 8 | 14.03.2009 00:46 |
Как програмно завершить работу компьютера? | Bill Gates | Win Api | 4 | 07.01.2008 11:35 |
как завершить роботу компьютера с помощью кода | Amor_06 | Безопасность, Шифрование | 10 | 06.01.2008 23:30 |
Как корректно завершить цикл? | Iren | Microsoft Office Excel | 4 | 02.11.2007 09:58 |