![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Много Thread, от дного класса с разными значениями атрибутов [D4, Win95/98, Win2k]
Jul © (2003-09-11 21:05:00)
У меня примерно такая задача. По таймеру создается экземпляр моего Thread. Они работают несколько параллельно. Каждый thread имеет атрибут с уникальным номером. Мне, в зависимости от номера, надо присваивать другому атрибуту Threada определенное значение. Все это происходит спустя некоторое время после запуска. Как мне иденимфицировать/работать с атрибутами нужного thread. Вопрос любительский, но очень надо. Я запоминаю Handle каждого (пока на всякий случай).
MyThread = class(TThread)
Process_ID: integer;
hasResult: boolean;
protected
procedure Execute; override;
public
constructor Create(Pr_ID:integer;si: tdatetime);
end;
Digitman (2003-09-12 12:54:00) [1]
> я не умею обращаться к атрибутам процесса
не процесса, а кодового потока в контексте текущего процесса
и, коль скоро речь идет о некоем классе(наследнике TThread, впрочем - неважно чьем), тогда уж не к "атрибутам", а к методам/свойствамэтого класса
объект класса TThread - такой же равноправный VCL-объект, как и, к примеру, форма (TForm)
никакой разницы в синтаксических формах обращений к св-вам/методам тех или иных VCL-объектов нет
Jul (2003-09-12 12:21:00) [2]
я не умею обращаться к атрибутам процесса, который находится в списке. список мз чего лучше составлять - как TthreadList?
HolACost! (2003-09-12 11:28:00) [3]
Храни список этих потоков например через TList и потом...!!!
Digitman (2003-09-12 11:08:00) [4]
> надо найти все потоки, не успевшие получить результат
и какие проблемы ?
Jul (2003-09-12 10:57:00) [5]
Нет. поток запрашивает ответ с сервера, пока не неступает timeout. при наступлении timeout - терминатится и посылает на сервер - нет ответа (timeout). но если пользователь программы закрывает приложение, то надо найти все потоки, не успевшие получить результат, послать timeout и закрыться.
Jul (2003-09-12 10:57:00) [6]
Нет. поток запрашивает ответ с сервера, пока не неступает timeout. при наступлении timeout - терминатится и посылает на сервер - нет ответа (timeout). но если пользователь программы закрывает приложение, то надо найти все потоки, не успевшие получить результат, послать timeout и закрыться.
panov (2003-09-11 21:09:00) [7]
Все это происходит спустя некоторое время после запуска
Поток спит, что-ли?
И почему нельзя сразу(при создании потока, в конструкторе, нужные значения присвоить)
Задача непонятна, и кода мало, чтобы что-то конкретное посоветовать...