Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
14-1099976334
Defunct
2004-11-09 07:58
2004.11.28
разговаривать на любые отвлеченные темы


1-1100371562
TSoftman
2004-11-13 21:46
2004.11.28
Прорисовка в TreeView


10-1067248300
Erik
2003-10-27 12:51
2004.11.28
Как происходит обновление DataSet провайдером?


4-1097785196
BaG
2004-10-15 00:19
2004.11.28
События клавишиатуры в Windows


1-1100358113
cfytr
2004-11-13 18:01
2004.11.28
Алгоритм заполнения массива





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский