Главная страница
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.023 c
1-1093617452
Apachi
2004-08-27 18:37
2004.09.12
Lingvo


3-1092716386
leonidus
2004-08-17 08:19
2004.09.12
Не полное отображение содержимого таблицы


1-1093537096
mouse_web
2004-08-26 20:18
2004.09.12
Разбивка String


4-1090918020
aval0n
2004-07-27 12:47
2004.09.12
сообщения Windows


1-1093829642
vovchik
2004-08-30 05:34
2004.09.12
Русская кодировка