Главная страница
    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.034 c
6-1096011322
Alexander_PK
2004-09-24 11:35
2004.11.28
Как програмно открыть досупт на папку в сети


1-1100531696
PC
2004-11-15 18:14
2004.11.28
ScrollBar в окне с BorderStyle = bsNone


14-1099927764
ИМХО
2004-11-08 18:29
2004.11.28
Локомотив - чемпион?


1-1100277025
heady
2004-11-12 19:30
2004.11.28
строка с разделителями


4-1097501001
Shira333
2004-10-11 17:23
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский