![]() |
|
|
![]()
|
|
| Bunny |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.3.2006 Репутация: 1 Всего: 1 |
Первый раз пытаюсь работать с потоками, поэтому трудно
Проблема такая: создаю поток, функция потока вызывает функцию формы, которая рекурсивно ищет нужные файлы и добавляет их в ListView. Ищет она их нормально, но как только пытается обратиться к списку - вылетает выше написанная ошибка. Понимаю, что ошибка прав доступа, но как исправить Если делать без потока - работает, но поиск в больших папках занимает много времени и во время поиска форма остается недоступной, и кажется что приложение повисло. Не хочется так оставлять, поэтому need help! |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
код показывай
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
синхронизация |
|||
|
||||
| Bunny |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.3.2006 Репутация: 1 Всего: 1 |
Выкладываю код (его нужную часть)
Это сообщение отредактировал(а) Bunny - 16.8.2006, 20:43 |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
если ты только начинающий -- какой, нафик, _beginthreadex?!
используй TThread и его метод Synchronize -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Bunny |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.3.2006 Репутация: 1 Всего: 1 |
_hunter, TThread есть только в Билдере, а _beginthreadex можно использовать везде. Попробую TThread, если решит проблему - хорошо, но хотелось бы знать где здесь ошибка!
Попробовал TThread - вылетает таже самая ошибка, вопрос остается открытым. Это сообщение отредактировал(а) Bunny - 17.8.2006, 15:25 |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
ага. и TResultsImportForm (точнее TForm) тоже везде есть ;) еслибы ты всю фразу прочитал (про Synchronize я имею в виду)... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 11 Всего: 146 |
просто _hunter имеет ввиду, что
здесь есть синхронизация А здесь ее самому надо организовывать, ручками.... так что выбирай или то что у борланда , где все за тебя сделали, или то что везде работает , но надо самому поработать! Это почитай хоть и на дельфи но это имхо основы http://forum.vingrad.ru/index.php?showtopic=60076 -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Все вокруг жа около, вот нет что бы сказать человеку:
Все ф-ии которые используют VCL - необходимо помещать в Synchronize; #include <vcl.h> void __fastcall Execute() { Synchronize( MMY_ESSAGE ); } void MMY_ESSAGE() { ShowMessage("TEST"); } -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
по-моему в справке тоже самое написанно...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Bunny |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.3.2006 Репутация: 1 Всего: 1 |
Artemon, именно так и было написано:
Да и как я понимаю синхронизация нужна когда есть несколько потоков, чтобы не допустить одновременного использования общих ресурсов?! А у меня один поток! Может из-за рекурсии? |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Да нипричем тут твоя рекурсия.
синхронизировать нужно всегда с vcl. Покажи новый вариант кода с TThread -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 6 Всего: 24 |
Правда? Считаем... в одном потоке работает VCL, другой поток создаешь ты для необходимых тебе манипуляций... итого потоков: ? -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Bunny |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.3.2006 Репутация: 1 Всего: 1 |
весь остальной код остался прежним. Ошибка таже: "Access violation at addres ..." |
||||
|
|||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 11 Всего: 146 |
а чем он те не нравится? эта ф-ция без потока вообще работает? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
![]()
|
| Правила форума "С++ 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. |