Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.062 c
3-1097219685
Настенька
2004-10-08 11:14
2004.11.28
синхронизация dbgridов


3-1099468339
RavenD
2004-11-03 10:52
2004.11.28
Как определить длинну всего Blob a?


3-1099128141
Hmm
2004-10-30 13:22
2004.11.28
Excel таблица в Delphi. Редактирование, удаление, поиск ???


3-1098629484
sw
2004-10-24 18:51
2004.11.28
Выбор сервера БД?


1-1100061003
officeman
2004-11-10 07:30
2004.11.28
про tStringList.Create