Текущий архив: 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.45 MB
Время: 0.03 c