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

Вниз

Присвоение TDataBase.DataBaseName приводит к AV...   Найти похожие ветки 

 
Aleksandr   (2004-10-20 14:04) [0]

В многопоточном приложении в Execute каждого потока создается экземпляр TDataBase:

var
 pS     : TSession;
 pD     : TDataBase;
begin
 WaitForSingleObject(TSCPT, 100000);
 pS:=TSession.Create(nil);
 pD:=TDataBase.Create(nil);
 try
   pS.SessionName:="px"+IntToStr(Random(4000)+1);
   Ps.Name:="psession"+ps.SessionName;
   pD.HandleShared:=true;
   pD.DatabaseName:=FDir;
...

Код я оставил по строчку pD.DatabaseName:=FDir; по той причине, что выполнение этой строки время от времени вызывает в потоке EAccessViolation. FDir - свойство потока, передаваемое ему в констрактор, является папкой, в которой будет работать поток с таблицей парадокса. На три десятка потоков таких папок 4 штуки.


 
msguns ©   (2004-10-20 16:37) [1]

>В многопоточном приложении в Execute каждого потока создается экземпляр TDataBase:

Позвольте полюбопытствовать - а зачем ?


 
Aleksandr.   (2004-10-20 20:32) [2]

msguns © :
А Вы полагаете, что с BDE разные потоки могут работать через один TDataBase?



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

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

Наверх




Память: 0.47 MB
Время: 0.047 c
8-1092937508
bug008
2004-08-19 21:45
2004.11.21
класс для редактирования ID3v2 тегов


1-1099477729
YeasU
2004-11-03 13:28
2004.11.21
Почему StrLen(PChar(Str:string)) возвращает 0 ?


1-1099892230
qp
2004-11-08 08:37
2004.11.21
Нужно ли инициализировать динамический массив после выделения пам


14-1099656127
anton2v
2004-11-05 15:02
2004.11.21
Кто такой мастер


14-1099735110
Maxim____
2004-11-06 12:58
2004.11.21
Посоветуйте что почитать.