Главная страница
    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.45 MB
Время: 0.03 c
1-1095839744
DimonNew
2004-09-22 11:55
2004.10.10
Минимизация окна


1-1095775511
misha123
2004-09-21 18:05
2004.10.10
ООП тип?


3-1095154179
}|{yk
2004-09-14 13:29
2004.10.10
Как получить набор данных из процедуры в Оракле 8.1.7


1-1096286189
Mar_Gel
2004-09-27 15:56
2004.10.10
Подскажите, как поменять иконку в программе во время выполнения?


3-1095170802
denis24
2004-09-14 18:06
2004.10.10
dbcombobox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский