powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Thread
3 сообщений из 3, страница 1 из 1
Thread
    #32285531
mirstas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте.
У меня задача такая: Мне нужно в каждом потоке создать папку и копировать в эту папку одни и те же файлы с винта, создаётся несколько потоков, копирование файлов не заканчивается и появляется: Exception class EListError 'List index out of bounds(2)' или (3) ??? В потоке такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
     if not DirectoryExists(strFolder) then begin
         CreateDir(strFolder);
         strNewFile := (strFolder + '\' + strProg);
         CopyFile('w:\FOLDER\myProg.exe',PChar(strNewFile),False);
         strNewFile := (strFolder + '\lha.exe');
         CopyFile('w:\FOLDER\lha.exe',PChar(strNewFile),False);
         strNewFile := (strFolder + '\rar.exe');
         CopyFile('w:\FOLDER\rar.exe',PChar(strNewFile),False);
         intFolder :=  1 ;   
      end;


Помогите, я думаю, что, возможно, надо использовать критические разделы, мютексы...
...
Рейтинг: 0 / 0
Thread
    #32285960
mirstas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Thread
    #32286986
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну из твоего кода ничего не понятно....
во первых, каждый поток копирует свой файл или одни и те же?
есть ли обращение из разных потоков к одной и тойже переменной? ресурсу?
где вываливается ошибка? Может это вообще не связано с потоками? Пробовал ли запускать приложение как однопоточное? Вобщем тут много лишней информации и нет нужной
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Thread
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]