![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Никто не в курсе, в каких случаях появляется такое исключение? [D6, Win2k]
Aleksandr © (2002-03-27 11:29:00)"Thread error: The Handle is invalid (6)"... Появилось у меня такое в программе... Трассирую - нет ошибок... работает - в обработчике эксепшнов такое вот появляется...
Aleksandr (2002-03-27 12:07:00) [1]Лана, главное, понял, что искать... Нельзя для работы с сокетами в потоке Synchronize использовать было... Спасибо за подсказку...
AFROLOV (2002-03-27 11:51:00) [2]Скорее всего у тебя что-то не успевает создаваться или удаляться. Под отладчиком времени для создания хватает а без него - нет. Как один из подходов можно использовать флаги.
в потоке 1
...
flag:=false;
//создаем что-то
flag:=true;
...
В потоке 2
...
while (flag=false)
begin
//ждем создания
end;
..
//работаем с объектом
Vogul (2002-03-27 11:50:00) [3]Important: Methods and properties of objects in VCL can only be used in a method called using Synchronize,
Executes a method call within the main VCL thread.
А ведь кроме методов и пропертей VCL есть еще наверное и другие обьекты совместного использования.
Aleksandr (2002-03-27 11:43:00) [4]Многопоточное... Что значит - хромает? метод Synchronize не в тему вызывается, что ли? Поток, в котором эта эксепшна, существует в 1 экземпляре.
Vogul (2002-03-27 11:35:00) [5]Приложение многопоточное? Если да, то синхронизация потоков где-то хромает.