Главная страница
    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.052 c
14-1100105032
Soft
2004-11-10 19:43
2004.11.28
Путинский режим = ставка Гитлера.


1-1100230216
rom
2004-11-12 06:30
2004.11.28
определение результата: string или integer.


3-1099066953
MAVOR
2004-10-29 20:22
2004.11.28
ПОИСК


14-1100075223
ИМХО
2004-11-10 11:27
2004.11.28
Всё ли имеет свою цену?


14-1100313119
DelphiN!
2004-11-13 05:31
2004.11.28
Есть ли в DMClient-е поиск по базе данных сайта Мастаков?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский