Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

Чисто теоретический вопрос на счёт Тредов   Найти похожие ветки 

 
Фёдор Мегатронов   (2004-08-24 20:25) [0]

Вообще чисто теоретически работа с потоками в которых открываеться на чтение файл в инете и открываеться на запись файл на винте может как-то отличаться от обычной работы ?

потому что у меня поток с такими действиями внутри категорически отказываеться делать Suspend или Terminate насильно.

там в цикле чтения/скачивания есть проверка на терминэйт и суспенд ... и если, то закрываються все инет сессии и файл на винте.

Однако поток корректно завершаеться только сам-по-себе, когда файл успешно скачан.

Если я нажимаю кнопку c TPotok.Terminate, то вижу такую вот надпсь

Access Violation at address бла-бла in module Project1.exe. Read of Address бла-бла..

сижу уже с этой ощибкой чёрти знает сколько.

Спокойно завершает потоки в которых выполняються простейшие математические операции ... а вот с инетом - нивкакую ...


 
Алхимик ©   (2004-08-24 20:43) [1]


> Фёдор Мегатронов   (24.08.04 20:25)

Неправда. Вы Виктор Степанович Черномырдин.


 
Mim1 ©   (2004-08-24 21:11) [2]


> Если я нажимаю кнопку c TPotok.Terminate, то вижу такую
> вот надпсь
>
> Access Violation at address бла-бла in module Project1.exe.
> Read of Address бла-бла..

Может всетаки

var p:TPotok;
begin
 p := TPotok.create(false);
 p.Terminate;


а не TPotok.Terminate ?


 
Фёдор Мегатронов   (2004-08-24 21:20) [3]

зачем мне его активизировать ещё раз перед закрытием ???

у меня есть кнопка  
DThread := ThreadClass.Create(true);
DThread.Priority := tpLower;
DThread.Resume;

и есть кнопка
DThread.Terminate;

я совсем дурак ?


 
Mim1 ©   (2004-08-24 21:40) [4]

Дело в том что в вопросе вы сказали что при вызове метода класса а не обьекта, у вас происходит ошибка. На это я и пытался обратить ваше внимание.

В [3] видно что это не так, то есть вызывается метод обьекта.
А на момент выполнения DThread.Terminate; обьект все еще существует?, может он разрушается до этого при помоoщи FreeOnTerminate?


 
Фёдор Мегатронов   (2004-08-24 21:59) [5]

FreeOnTerminate стоит, но у меня же идёт скачивание. Тоесть пока идёт постепенное чтение/запись файла - поток работает, но остановить или терминэйтнуть я его не могу.


 
MIm1 ©   (2004-08-24 22:11) [6]

Ну чтож, отлаживайте, читайте книги если не получается найти баг.


 
Фёдор Мегатронов   (2004-08-24 22:37) [7]

всё ... я нашел где я дурак .. у меня по неизвестным причинам этот обьект был обьявлен в двух модулях ... в одном он создавался, а в другом он закрывался 8) .. и в каждом модуле - своё описание ..

гыг

всё теперь спокойно прекращаеться и продолжаеться ...
правдо перестало опять показывать правельный размер файла 8(((



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

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

Наверх




Память: 0.48 MB
Время: 0.05 c
14-1093498497
WondeRu
2004-08-26 09:34
2004.09.12
Гляньте, авось понравится!))))))))))))


1-1093690153
Vasya.ru
2004-08-28 14:49
2004.09.12
Это меня глючит, или Дельфю?


1-1093538910
JohnJ
2004-08-26 20:48
2004.09.12
TMsgDlgButtons


14-1092761103
KaLLeKa
2004-08-17 20:45
2004.09.12
Подскажите плийз, я в железе ничего не понимаю...


14-1093317713
SPeller
2004-08-24 07:21
2004.09.12
Отошлем спамерам спам :)