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

Вниз

Проблема при принудительном завершении потока   Найти похожие ветки 

 
Afonya   (2003-02-24 13:38) [0]

Добрый день, мастаки.
Столкнулся с такой ситуацией:
В своей основной програме, написаной в Делфи, подготавливаю файл исходных данных для расчёта.
Запускаю поток, который в свою очередь запускает консольное приложение. Последнее использует вышеуказаный файл исходных данных, который открывается только для чтения.
Все дело вот в чем: расчёт длится очень долго, к тому же склонен к зацикливанию, поэтому приходится его принудительно завершать с помощью TerminateThread. Но файл исходных данных остается быть открытым, и для дальнейшего редактирования моей основной програмой не пригоден.
Как снять с этого файла этот статус (статус, что он занят др. процессом) ?


 
Юрий Зотов   (2003-02-24 16:35) [1]

1. С помощью TerminateThread Вы завершаете СВОЙ поток, а не консольное приложение. Если хотите завершать и его тоже, используйте TerminateProcess.

2. Чтобы файл оставался доступен:
- откройте его сначала у себя, дав разрешение на совместный доступ по чтению.
- возможно, придется сделать его хэндл наследуемым - см. SetHandleInformation и параметр bInheritHandles в CreateProcess.



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

Форум: "WinAPI";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.009 c
6-67409
Provodnick
2003-02-26 20:08
2003.04.21
Delphi and HTML.


1-67352
Top Gun
2003-04-08 18:48
2003.04.21
Int 21h в Delphi


14-67439
Agent[007]
2003-04-03 13:16
2003.04.21
Вот ка бывает...


4-67621
_toltec
2003-02-21 23:05
2003.04.21
service


14-67469
Sheng
2003-04-02 21:51
2003.04.21
Сеть XP и 98





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