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

Вниз

Thread   Найти похожие ветки 

 
c0pYc@t   (2002-07-26 11:49) [0]

Люди добрые объястите в чем дело. В хелпе нарыл что есть свойство

Terminated - показывает, завершен ли процесс. True - завершен, False - нет. Тип: Boolean;

подскажите что я делаю не так
создал процесс masthr[index] := TMyThr.Create(item);

а как посмотреть его свойство не знаю :(, чего то
нет его в списке masthr[index].???
что не так?


 
Виктор Щербаков ©   (2002-07-26 11:53) [1]

Во первых это свойство Protected. Так что ты его просто не увидишь, если попытаешься обратиться из другого модуля.


 
Skier ©   (2002-07-26 11:53) [2]

>c0pYc@t
Оно protected.


 
Zavdim   (2002-07-26 11:54) [3]

А ты его напиши сам и прокомпилируй - если даст ошибку, то тогда смотри свой array - masthr - каково его описание.
А в списке не все всегда появляется. Причину не знаю.


 
c0pYc@t   (2002-07-26 11:55) [4]

Виктор Щербаков © (26.07.02 11:53)
>Во первых это свойство Protected. Так что ты его просто не >увидишь, если попытаешься обратиться из другого модуля.

Skier © (26.07.02 11:53)
>Оно protected.

поскажите как его можно посмотреть очень нуна



 
Skier ©   (2002-07-26 11:59) [5]

>c0pYc@t
В своём классе-потомке TMyThr перенеси его в раздел public.


TYourThread=class(TThread)
public
property Terminated;
end;


 
c0pYc@t   (2002-07-26 12:14) [6]

И еще я не понял после чего Terminated=true
когда процесс завершен


 
Виктор Щербаков ©   (2002-07-26 12:15) [7]

c0pYc@t (26.07.02 11:55)
Можно так:
TNewMyThread = class(TMyThr);
...
(masthr[index] as TNewMyThread).Terminated := true;


 
Виктор Щербаков ©   (2002-07-26 12:18) [8]

c0pYc@t (26.07.02 12:14)
Чего?


 
c0pYc@t   (2002-07-26 12:22) [9]

>Виктор Щербаков ©
меня интересует когда свойство Terminated становится true, т.е. когда можно считать что процесс завершен


 
Виктор Щербаков ©   (2002-07-26 12:23) [10]

c0pYc@t (26.07.02 12:22)
procedure TThread.Terminate;
begin
FTerminated := True;
end;
Вопрос снят?


 
Alx2 ©   (2002-07-26 12:26) [11]

>c0pYc@t (26.07.02 12:22)
>когда свойство Terminated становится true
Когда закончил работу метод Execute.


 
Виктор Щербаков ©   (2002-07-26 12:37) [12]

c0pYc@t (26.07.02 12:22)
Хм. Чтобы внести ясность:

> меня интересует когда свойство Terminated становится true
См. Виктор Щербаков © (26.07.02 12:23)
Поток при это мможет продолжать работу. Мало того, он вообще может не реагировать на изменение св-ва Terminated.

> когда можно считать что процесс завершен
Только не процесс, а поток. См. Alx2 © (26.07.02 12:26)


 
c0pYc@t   (2002-07-26 12:42) [13]

То есть после Execute
Terminated = true ???


 
Виктор Щербаков ©   (2002-07-26 12:46) [14]

c0pYc@t (26.07.02 12:42)
Нет.


 
c0pYc@t   (2002-07-26 12:48) [15]

Виктор Щербаков ©
когда же наконец
или оно вообще не меняется


 
Виктор Щербаков ©   (2002-07-26 12:51) [16]

c0pYc@t (26.07.02 12:48)
Я тебе указал место, где изменяется член класса, соответствущий свойству Terminated. Это происходит при вызове метода Terminate.


 
c0pYc@t   (2002-07-26 12:54) [17]

Т. е. в своем коде
последней строчкой в Execute должно быть Terminate и тогда все будет ок?


 
Виктор Щербаков ©   (2002-07-26 12:59) [18]

c0pYc@t (26.07.02 12:54)
Если тебе действительно нужно изменять значение Terminated в конце метода Execute, то сделай это так:
try
// код потока
finally
FTerminated := true;
end;


 
Alx2 ©   (2002-07-26 13:04) [19]

>c0pYc@t (26.07.02 12:54)
Здесь причина и следствие поменялись :)
В методе Execute можно обрабатывать Terminated и правильно реагировать на него.


 
c0pYc@t   (2002-07-26 13:20) [20]

А FTerminated что такое?


 
Виктор Щербаков ©   (2002-07-26 13:36) [21]

Какой ты всё-таки дотошный...
Если уж так интересно внутреннее устройство класса TThread, то почему бы самому не посмотреть его исходники.


 
c0pYc@t   (2002-07-26 14:19) [22]

>Если тебе действительно нужно изменять значение Terminated в >конце метода Execute, то сделай это так:

Эээ извените за назойливость но


finally
FTerminated := true;
end;

ругается говорит что такое FTerminated


 
Виктор Щербаков ©   (2002-07-26 14:23) [23]

Хм. Ну да, действительно. Это же в коде потомка. Нужно просто Terminated := true;


 
c0pYc@t   (2002-07-26 14:26) [24]

Cannot assign to a read-only property
как это снять


 
Polevi ©   (2002-07-26 14:27) [25]

2All
вам не надоело еще ?


 
Виктор Щербаков ©   (2002-07-26 14:31) [26]

Мне уже надоело.
c0pYc@t (26.07.02 14:26)
Вызови Terminate вместо Terminated := true.
Хотя, не понятно, зачем тебе это всё нужно.


 
saxon ©   (2002-07-26 14:38) [27]

В хелп не пробовали заглянуть?
У меня такое чувство, что там все написанно.


 
c0pYc@t   (2002-07-26 14:40) [28]

На конец то заработало уууууууууф


 
Виктор Щербаков ©   (2002-07-26 14:40) [29]

saxon © (26.07.02 14:38)
Зачем? Там ведь по английски, да еще и искать надо. Проще сюда заглянуть... и не напрягаться.


 
saxon ©   (2002-07-26 14:53) [30]

Виктор Щербаков ©
:))


 
Digitman ©   (2002-07-26 15:09) [31]

Не IronHawk-ли резвится ?)



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

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

Наверх




Память: 0.53 MB
Время: 0.046 c
1-24086
SuMaga
2002-07-25 12:13
2002.08.08
вот такая вот непонятная Фигня?


1-24033
Zavdim
2002-07-26 11:27
2002.08.08
Сохраннение HTML-файлов в Word.


4-24286
Andrew_K
2002-05-31 10:20
2002.08.08
CreateProcess


3-23862
Loco
2002-07-19 14:49
2002.08.08
Ещё вопрос


1-24049
newUser
2002-07-25 13:26
2002.08.08
Lockfile