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

Вниз

Ошибка "Insufficient memory for this operation."   Найти похожие ветки 

 
Aleksandr.   (2004-08-17 15:08) [0]

В Execute потока создается сессия, TDataBase и TTable:

 pxSession:=TSession.Create(nil);
 pxDB:=TDataBase.Create(nil);
 pxTable:=TTable.Create(nil);
 try
   pxSession.SessionName:="px"+aTblName;
   pxSession.Active:=true;
   pxDB.DatabaseName:=FDir;
   pxDB.SessionName:=pxSession.SessionName;
   pxDB.LoginPrompt:=false;
   pxDB.HandleShared:=false;
   try
     pxDB.Connected:=true
...

вот периодически на pxSession.Active:=true либо на pxDB.Connected:=true; возникает эта ошибка. Всего таких потоков у меня 30-37.


 
Digitman ©   (2004-08-17 15:15) [1]


>    pxSession.Active:=true;


это зачем ? ... хотя это - к слову ...

самое интересное начинается после pxTable.Open .. а этого как раз здесь нет


 
Aleksandr.   (2004-08-17 15:24) [2]

pxSession.Active - без этого почему-то случается глобальный вылет БДЕ - такой, что поток вообще умирает и на обращения не реагирует (пару раз я спрашивал об этой проблеме, советовали на каждый поток выделять по своему TSession и TDataBase, так и сделал, но не помогло, пока не стал активировать сессию и коннектить базу данных).
Так до pxTable.Open и не доходит - эксепт случается на одном из указанных методов. Причем в первом случае - pxSession.Active - к ошибке иногда дописывается имя таблицы, а во втором слово "Alias".


 
Digitman ©   (2004-08-17 15:44) [3]


> Так до pxTable.Open и не доходит


дык а нахрена ж ты их, таких "недоделанных" потоков, плодишь аж 30..37 штук ?! ... Когда и один-то не делает то, что ему положено ?


 
Aleksandr.   (2004-08-17 17:21) [4]

Я не писал, что ни один из них не работает. Количество выдающих ошибку потоков случайно - от 5 до 60%. Просто если после
pxDB.HandleShared:=false;
  try
    pxDB.Connected:=true
убрать работу с таблицей и
сразу открыть except c обработчиком и finally с освобождением объектов, будет то же самое.


 
Rusa   (2004-08-18 07:02) [5]

У меня тоже возникала такая проблема для программ использующих BDE, когда одновременно запущено их много. Помогло изменение параметров в "BDE Administrator" на закладке "Configuration", ветвь "System->INIT". Там есть два параметра MAXBUFSIZE и SHAREDMEMSIZE. По умолчанию им присвоены значения 2048. Я у себя увеличил их до 8192. После этого проблема пропала.



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
1-1093435923
TUser
2004-08-25 16:12
2004.09.12
Tag


14-1093516698
Zn
2004-08-26 14:38
2004.09.12
Кто что-нибудь слышал о Gallileo?


1-1093422135
Borion
2004-08-25 12:22
2004.09.12
Программная смена размера бумаги


1-1093712107
Черный дембель
2004-08-28 20:55
2004.09.12
Параметры функций из DLL


8-1087811908
killer
2004-06-21 13:58
2004.09.12
Zoom в Image