Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Много 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]

Все это происходит спустя некоторое время после запуска

Поток спит, что-ли?

И почему нельзя сразу(при создании потока, в конструкторе, нужные значения присвоить)

Задача непонятна, и кода мало, чтобы что-то конкретное посоветовать...


Наверх

Титульная страница Поиск, карта сайта Написать письмо