Главная страница
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.026 c
1-1096286363
TActionManager
2004-09-27 15:59
2004.10.10
Как создать свой пункт меню первого уровня


14-1092729585
Piter
2004-08-17 11:59
2004.10.10
Magic Forum beta9 - клиент форумов "Мастера Дельфи" и "Дремучие"


3-1094996828
Артем Владимирович
2004-09-12 17:47
2004.10.10
Взаимодействие приложения с удаленной БД


14-1095365667
Marser
2004-09-17 00:14
2004.10.10
Опрос: Сколько ников вы сменили


4-1094536121
Multy
2004-09-07 09:48
2004.10.10
Как эмулировать нажатие клавиатуры и перемещение мыши?