Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Объекты в потоках.   Найти похожие ветки 

 
Риг   (2009-08-23 02:22) [0]

Добрый день, только начал осваивать потоки, и столкнулся со следующей проблемой:

Внутри потока создается объект для работы с Rar архивами, если у нас работает один поток - то все проходит нормально, но
если мы запускаем два или более потока, то происходит исключение "TAccessViolation at address XXXXXX in module "unrar3.dll""


//.....код.....//
UnZip:=TUnRar.Create(UnZip);
//....задаем параметры...//
if DirectoryExists(dir) then
FileExtract := UnZip.Extract()  //исключение происходит здесь
else
begin
 CreateDir(dir);
 FileExtract := UnZip.Extract(); // и здесь


Как можно поступить в данном случае? Желательно без остановки работы какого-либо потока.
Заранее благодарю за помощь.


 
Риг   (2009-08-23 02:28) [1]

Использую компонент ZipTV
UnZip:TUnRar;


 
Риг   (2009-08-23 02:32) [2]

Вопрос отпал. В откомпилированной программе все работает. Извиняюсь за беспокойство


 
Kolan ©   (2009-08-23 10:04) [3]

Возможно вам просто повезло. Проблема может быть в том, что компонент не потокобезопасный.


 
Риг   (2009-08-23 14:09) [4]

да, скорее всего. Работал через раз и глючил жутко. Организовал использование его, по очереди - теперь все нормально.


 
Kolan ©   (2009-08-23 17:17) [5]

Как организовали исполнение по очереди?



Страницы: 1 вся ветка

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
2-1250691718
DimDim
2009-08-19 18:21
2009.10.25
Сохранение в ini


15-1251351145
Медвежонок Пятачок
2009-08-27 09:32
2009.10.25
утка или так и есть? (мегафон + скайп)


2-1251725937
Rembo
2009-08-31 17:38
2009.10.25
IdHttp.Post мультистрочная переменная


4-1219732438
KygECHuK
2008-08-26 10:33
2009.10.25
Выгрузка WinApi перехватчика


2-1251107698
SkyN
2009-08-24 13:54
2009.10.25
Как отловить причину закрытия программы?