Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Пару вопросов по потокам   Найти похожие ветки 

 
Apolo ©   (2004-09-08 15:53) [0]

Ув. Мастера есть пару вопросов:

1. Прочитал статью http://www.delphimaster.ru/articles/panov/index.html

и вопрос по куску кода:
if Assigned(TMonDirThread(fMonDirMain.Tag)) then
TMonDirThread(fMonDirMain.Tag).Terminate;
 fMonDirMain.Tag := 0;


Обратите внимание на строки, выделенные жирным шрифтом.
Вместо того, чтобы создавать дополнительно переменную типа TMonDirThread, мы присвоили свойству формы Tag ссылку на созданный объект-поток, воспользовавшись явным приведением типа Integer(), так как любой указатель можно преобразовать к типу Integer.


Что значит ссылка на созданный обьект-поток?
Обясните пожалуйста поподробнее что храниться в fMonDirMain.Tag?
Там храниться какоето длинное целочисленное число, что ето число означает? и как понять TMonDirThread(fMonDirMain.Tag)?

2. Как мне, если надо, обновлять данные потока из основной программы? Тоже Synchronize?

3. Что мне необходимо, если я хочу организовать N одинаковых потоков (N заранее неизвестно)?
Мне надо хранить гдето список запущенных потоков?
Как мне им передавать в переменные какието значения, если потоки одинаковые?

Заранее спасибо!


 
Digitman ©   (2004-09-08 16:02) [1]


> Что значит ссылка на созданный обьект-поток?


то же что и ссылка на любой иной Делфи-объект

если бы речь шла не о потоках, а о некоем объекте произвольного класса, вопрос был бы тем же ?


> Как мне, если надо, обновлять данные потока из основной
> программы? Тоже Synchronize?


"программа" и "поток" - сущности не сравниваемые


> Что мне необходимо, если я хочу организовать N одинаковых
> потоков (N заранее неизвестно)?


ну вероятно -  массив ссылок на экземпляры объектов, описывающих каждый из потоков


 
Apolo ©   (2004-09-08 16:11) [2]


> то же что и ссылка на любой иной Делфи-объект
>
> если бы речь шла не о потоках, а о некоем объекте произвольного
> класса, вопрос был бы тем же ?

Да, вопрос тот-же.

Не могу понять, что значит ссылка .....

и как понять TMonDirThread(fMonDirMain.Tag)?


 
Digitman ©   (2004-09-08 16:34) [3]


> Не могу понять, что значит ссылка


результат выполнения конструирующего метода TSomeClass.Create(..) и есть ссылка на успешно созданный экземпляр класса TSomeClass

иными словами, то что возвращает этот оператор есть адрес в памяти структуры, описывающей вновь созданный объект класса TSomeClass


> как понять TMonDirThread(fMonDirMain.Tag)


здесь мы "командуем" компилятору (чтобы не ругался) : то ц/ч значение, которое хранится в св-ве Tag объекта, ссылка на который хранится в поле fMonDirMain, сей момент интерпретировать не просто как целое 32-битное знаковое число, а как указатель на объект класса TMonDirThread



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
3-1094732450
frezer
2004-09-09 16:20
2004.10.10
наработки


14-1094669161
olookin
2004-09-08 22:46
2004.10.10
We are living in Amerika - Rammstein


1-1095853643
Кукушкинд
2004-09-22 15:47
2004.10.10
Фрэймы в дэльфи....


4-1094018394
HeKTO
2004-09-01 09:59
2004.10.10
устройства ввода


14-1095924563
sapsi
2004-09-23 11:29
2004.10.10
Название для программного комплекса