![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с потоками. Помогите! [D7, WinXP]
Cardinal © (2004-11-10 22:26:00)Здравствуйте. Помогите мне разобраться с работой с потоками. Сидел сам - почти разбил клаву от злости. Мне нужно создать поток и в нем выполнять определенные действия, которые занимают много времени и поэтому должны выполняться отделно.
Если можно, объясните как это сделать или киньте ссылки на статьи, которые можно почитать
Я решил (?), что надо делать так:
...
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. Тупых ошибок, наверное, куча. Не пинайте :-), с потоками никогда не работал.
Cardinal (2004-11-11 20:09:00) [1]>sniknik © (10.11.04 23:16) [3]
Спасибо. От клавы персональное :-)
>ЗЫ обычно типы именуют с прифексом T
Я знаю, это так, пробный кусок.
sniknik (2004-11-10 23:16:00) [2]procedure Execute; override; // переопределяю Execute
jack128 (2004-11-10 22:42:00) [3]KilkennyCat © (10.11.04 22:33) [1]
не помню, но Resume - это случаем, не продолжение после паузы? Сначала надо запустить...
но ведь поток создается именно приостановленным. Так что чтобы его запустить нужно использовать Resume.
Cardinal © (10.11.04 22:26)
процедура Execute выглядит именно так как ты написал?? Или что то вырезал?? У тя в классе CheckUp есть абстрактные методы??
ЗЫ обычно типы именуют с прифексом T
KilkennyCat (2004-11-10 22:33:00) [4]не помню, но Resume - это случаем, не продолжение после паузы? Сначала надо запустить...