| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Потоки и backgroundworker |
| Автор: Neymexa 4.5.2009, 21:33 |
| не получается применить компонент backgroundworker к моей проге. прога считывает файлы из директории , сравнивает их с условием . код позже... |
| Автор: -Mikle- 5.5.2009, 08:19 |
А зачем топик завел то? Место забил чтоль? |
| Автор: Neymexa 5.5.2009, 20:35 | ||
вот код пытаюсь применить прочитанное так что не судите за пустой метод backgroundWorker1_RunWorkerCompleted |
| Автор: -Mikle- 5.5.2009, 20:47 |
| Код посмотрел, вроде ошибок нет. Что не работает? Что не получается? |
| Автор: Любитель 5.5.2009, 20:55 |
| Брр.. Почитайте как работать с BackgroundWorker-ом 1. Параметр в RunWorkerAssync - это опциональный аргумент для передачи в фоновый поток. А не делегат-обработчик. 2. То, что будет делаться в фоновом потоке задаётся с помощью обработчика DoWork. 3. Обращаться к контролам в этом обработчике вообще говоря нельзя. Только через Invoke - но лучше юзать ReportProgress метод вашего воркера. И соответствующий обработчик. 4. Завершающие действия выполняются в RunWorkerCompleted, а не тут же после запуска фонового потока. А всякие DoEvents - да, можно написать ваш код однопоточно (что у вас почти и есть). Но BackgroundWorker предназначен совсем не для этого. |
| Автор: Neymexa 5.5.2009, 20:57 |
| код сам работает только нужно применить компонент backgroundworker чтобы создать фоновый поток и в нем делать все что описано в XMLMove.чтобы при перемещении файлов если их будет много чтобы форма не подвисала Я понятно объяснил? |
| Автор: -Mikle- 5.5.2009, 21:41 | ||
| Вот теперь понятно. Вот вам упрощенный пример, без применения вашей задачи:
|
| Автор: Neymexa 5.5.2009, 21:48 | ||
все что ты советуешь я прочитал но применить не получается - не судите строго - начинающий Добавлено через 5 минут и 38 секунд Mikle спасибо ща постмотрю... public List<string> SomeList - про эти скобки тоже надо почитать |
| Автор: AGENTxXx 8.6.2009, 00:52 |
| ВСЕМ ПРИВЕТ! У меня вот какая проблема: не получается сделать так, чтобы при прослушки данного порта и ip адреса сервер не вис. В общем все работает нормально. Клиенты с сервером хорошо взаимодействуют. Но нужно чтобы в listbox который находится на серверной части хотя бы писалось: клиент подключился/клиент отключился. Погуглил и понял что скорее всего надо делать через BackgroundWorker, но не представляю как это сделать. Не можете подсказать или хотя бы какой ни будь простой пример привести. Буду ОЧЕНЬ благодарен!!! |
| Автор: KelTron 8.6.2009, 05:05 |
| http://wladm.narod.ru/C_Sharp/backgroundwork.html |
| Автор: AGENTxXx 8.6.2009, 10:22 |
| Большое спасибо! Сегодня думаю тогда уже допрогаю))) |