Вниз
Скачать: CL | DM;

Работа с потоками. Помогите!   Найти похожие ветки 

← →
Cardinal ©   (2004-11-10 22:26) [0]

Здравствуйте. Помогите мне разобраться с работой с потоками. Сидел сам - почти разбил клаву от злости. Мне нужно создать поток и в нем выполнять определенные действия, которые занимают много времени и поэтому должны выполняться отделно.

Если можно, объясните как это сделать или киньте ссылки на статьи, которые можно почитать

Я решил (?), что надо делать так:

...

type
 THitFind = (hfWhole,hfAddres);
 TIfFindAction = (ifaDelete,ifaMiss,ifaAsk);
 CheckUp = class(TThread)
 private
   CheckAddrExist: boolean;                 //
   HitFind: thitfind;                       // объявляю свои переменные, которые мне будут нужны
   abase: string;                           //
   IfHit, IfHaveNotAddres: TIfFindAction;   //
 public
   procedure Execute;                       // переопределяю Execute
 end;

...

procedure CheckUp.Execute;
begin
while not Terminated do
 begin
 //здесь буду выполнять свой код, и, наверное, здесь надо будет убивать поток (?), когда все будет сделано
 end;
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
c := checkup.Create(true);
c.Resume; // после выполнения этой строки возникает Abstract Error.
end;


Помогите, пожалуйста, буду благодарен.

P.S. Тупых ошибок, наверное, куча. Не пинайте :-), с потоками никогда не работал.


← →
KilkennyCat ©   (2004-11-10 22:33) [1]

не помню, но Resume - это случаем, не продолжение после паузы? Сначала надо запустить...


← →
jack128 ©   (2004-11-10 22:42) [2]

KilkennyCat ©   (10.11.04 22:33) [1]
не помню, но Resume - это случаем, не продолжение после паузы? Сначала надо запустить...

но ведь поток создается именно приостановленным. Так что чтобы его запустить нужно использовать Resume.

Cardinal ©   (10.11.04 22:26)
процедура Execute выглядит именно так как ты написал?? Или что то вырезал?? У тя в классе CheckUp  есть абстрактные методы??

ЗЫ обычно типы именуют с прифексом T


← →
sniknik ©   (2004-11-10 23:16) [3]

procedure Execute; override;  // переопределяю Execute


← →
Cardinal ©   (2004-11-11 20:09) [4]

>sniknik ©   (10.11.04 23:16) [3]

Спасибо. От клавы персональное :-)

>ЗЫ обычно типы именуют с прифексом T

Я знаю, это так, пробный кусок.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
14-1100076066
Игорь Шевченко
2004-11-10 11:41
2004.11.28
Идти ли в IT или о перспективах программистов


14-1100316127
DelphiN!
2004-11-13 06:22
2004.11.28
Выявление ошибок в программе


14-1100199962
злобный Луарвик
2004-11-11 22:06
2004.11.28
Как всунуть прогу?


10-1066225536
Guest
2003-10-15 17:45
2004.11.28
Нужна ли ССМ?


14-1100168494
iis_work
2004-11-11 13:21
2004.11.28
Нужны исходники




   Наверх