Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему при присвоении полю потока значения возникает ошибка? [D6, WinXP]


Aleksandr ©   (2002-06-07 17:04:00) 

Есть у меня поток. Большую часть времени он Suspended. Есть у него пропертя, доступ к которой осуществляется через процедуру этого потока:
private
FEvent : TMailEvent;
procedure SetMailEvent(AEvent : TMailEvent);
public
property Event : TMailEvent read FEvent write SetMailEvent;

Когда из другого потока этому свойству что-либо присваивается:
SmtpThread.Event:=seGetOrders, выполняется его его SetMailEvent:
begin
while (FEvent<>seNone) AND NOT Suspended do
Application.ProcessMessages; //ждать завершения обработки
FEvent:=AEvent;
Resume
end;

Execute:
repeat
case FEvent of
seGetOrders : GetOrders;
...
end;
FEvent:=seNone;
Suspend
until Terminated

Так вот, при входе в SetMailEvent при попытке просто обратиться к значению FEvent Delphi показывает неаксессибельное значение для него, а выполнение первой строки вызывает ошибку... Что тут неправильного?


Digitman   (2002-06-07 18:33:00) [1]

>>"..выполнение первой строки вызывает ошибку"

Какую ? Дословно : класс исключения и сообщение об исключении ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо