![]() |
|
|
![]()
|
|
| Igor84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 4.3.2010 Репутация: нет Всего: нет |
Пытаюсь реализовать загрузку файла с http сервера:
Появилось несколько вопросов: 1. При успешном завершении загрузки файла сокет закрывается автоматически или его надо закрывать вручную? И в каком методе это делать и каким способом (Socket->Close() или Socket->Active=false)? 2. Выполнив запуск закачки в логе событий (Event Log) Билдера можно видеть, что запускается поток (Thread Start): ![]() Вопрос - почему не происходит Thread Exit? |
|||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
вручную
как тебе больше нравиться Это сообщение отредактировал(а) Alca - 28.2.2011, 14:16 |
||||
|
|||||
| Igor84 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 4.3.2010 Репутация: нет Всего: нет |
Ок. Бросил на форму кнопку и в обработчике пишу:
а в событии OnDisconnect компонента TClientSocket пишу:
При выполнении все происходит правильно, после Active=false появляется окошко с указанным сообщением. По идее все правильно, но в логе поток не завершается. Почему? |
||||
|
|||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
у меня в чистом пустом проекте стартует 5 потоков, а по выходу из программы завершается только 4. Я бы на твоём месте не заморачивался. Если хочешь отловить leak'и, то используй CodeGuard (включается в опциях проекта) -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
а че это за поток, это типа ClientSocket1 создает свой тред? Добавлено через 2 минуты и 42 секунды а если сделать
Добавлено через 4 минуты и 6 секунд запусти вне IDE и глянь в диспетчере задач чего там, сколько там потоков |
||||
|
|||||
| Igor84 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 4.3.2010 Репутация: нет Всего: нет |
Ну, выходит, что так... Только не останавливает его, даже если создавать образец TClientSocket динамически, а затем в конце работы удалять его, согласно логу поток не завершается... И даже если:
тоже самое.
Попробовал, но это сложно сказать, т.к. в ОС работает много программ и служб, которые периодически запускают\останавливают свои потоки, поэтому сложно отследить - завершился\создался поток моей программы или нет... Так что же это? Баг компонента? |
||||
|
|||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
так в этом просто убедиться:
при этом создаётся 100 тыс. потоков ? а даже если и создаётся, то завершается 100 тыс. раз ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| Igor84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 4.3.2010 Репутация: нет Всего: нет |
borisbn, согласен, но лог событий, кажется это не фиксирует.
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Добавлено через 14 минут и 44 секунды составь протокол |
|||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
или нет Добавлено через 48 секунд
передача что, где, когда |
||||
|
|||||
| Igor84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 4.3.2010 Репутация: нет Всего: нет |
||||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
ни разу |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |