Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Thread / 3 сообщений из 3, страница 1 из 1
06.10.2003, 18:22
    #32285531
mirstas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Thread
Здраствуйте.
У меня задача такая: Мне нужно в каждом потоке создать папку и копировать в эту папку одни и те же файлы с винта, создаётся несколько потоков, копирование файлов не заканчивается и появляется: 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
07.10.2003, 11:20
    #32285960
mirstas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Thread
...
Рейтинг: 0 / 0
08.10.2003, 06:13
    #32286986
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Thread
Ну из твоего кода ничего не понятно....
во первых, каждый поток копирует свой файл или одни и те же?
есть ли обращение из разных потоков к одной и тойже переменной? ресурсу?
где вываливается ошибка? Может это вообще не связано с потоками? Пробовал ли запускать приложение как однопоточное? Вобщем тут много лишней информации и нет нужной
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Thread / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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