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

Вниз

Подскажите, как справится с   Найти похожие ветки 

 
Аль   (2001-12-25 12:49) [0]

Я создаю поток (Thread), а потом могу лилбо остановить его , либо запустить, а вот уничтожить по окончании программы (из главного потока) Фредди.Free; - ни как не получается. Всё виснет. В чем тут проблема? //Фред у меня обновляет данные в гриде. И при его запуске начинает моргать Грид ...и мышка, если находиться над Гридом. Как этого избежать?


 
Digitman   (2001-12-25 13:02) [1]

приведи реализацию Фреди.Execute


 
Виктор Щербаков   (2001-12-25 13:07) [2]

Поток должен сам заботиться о своем завершении. Т.е. в коде потока должна быть проверка свойства Terminated и выход из метода Execute, если Terminated = true. В коде основного потока нужно установить Terminated в true, подождать завершения потока (метод WaitFor) и, затем, вызвать его метод Free если свойство FreeOnTerminate было установлено в false.


 
Юрий Зотов   (2001-12-25 13:19) [3]

Сразу после создания присвойте ему FreeOnTerminate = True и больше ничего не потребуется - при любом способе завершения он убъет сам себя.


 
Аль   (2001-12-25 13:37) [4]

А зацыклил я Фред -опять же, как было в примере показано чьем-то -
while true do begin
Synchronize(RefreshM);
end;
FreeOnTreminate ставить побоялся. Не знаю как он работает. Вдруг погибнет после первой остановки. А я хотел бы его запускать по мере надобности много раз.


 
Виктор Щербаков   (2001-12-25 13:39) [5]

Ну и запускай...


 
Digitman   (2001-12-25 14:10) [6]

а что, нельзя было где-нибудь в форме разместить таймер и в его обработчике написать RefreshM ? к чему поток-то вообще ?
и, уж коль ты его сляпал, не подумав, нужно было, по кр. мере, сделать так :

while not Terminated do
Synchronize(RefreshM);

?????


 
Юрий Зотов   (2001-12-25 14:25) [7]

while ... do
begin
Synchronize(...)
end;

Если в методе Execute больше ничего не делается, то никакого смысла в таком потоке нет.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.024 c
1-42428
TAV48
2001-12-20 17:51
2002.01.14
Как сделать чтобы фон кнопки был прозрачным?


14-42544
Tosov
2001-11-16 17:18
2002.01.14
HDD: Что выбрать


6-42531
RealMan
2001-10-19 17:06
2002.01.14
Удалённый запуск программы


4-42623
Семён
2001-11-10 09:36
2002.01.14
Создание главной формы с помощью WinApi


14-42571
Андрей
2001-11-16 21:43
2002.01.14
Всем доброго вечера! вопрос по JavaScript





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