Главная страница
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.037 c
4-1094532736
Duka
2004-09-07 08:52
2004.10.10
USB


1-1096026274
Tack
2004-09-24 15:44
2004.10.10
Мерцание TRichEdit при скроллинге


1-1095773926
hawkins
2004-09-21 17:38
2004.10.10
две переменные TDateTime. Как узнать разницу в колличестве дней


1-1095946900
wyt
2004-09-23 17:41
2004.10.10
Форма LogIn


3-1095156880
Andriy Tysh
2004-09-14 14:14
2004.10.10
ADOQuery.SQL.Add( ... ) & Transaction