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

Вниз

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

 
Фёдор Мегатронов   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
3-1092339929
Сергей Плоткин
2004-08-12 23:45
2004.09.12
Огромный размер БД


10-1037005934
Minibox
2002-11-11 12:12
2004.09.12
Midas (DCOM)-приложения не работают после установки VS.NET


14-1093147071
Baron
2004-08-22 07:57
2004.09.12
Здесь должен быть САБЖ


3-1092751996
Вика
2004-08-17 18:13
2004.09.12
Помогите с SQL 2


3-1092762020
Loaderz
2004-08-17 21:00
2004.09.12
Длина строк в БД.





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