Форум: "Базы";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];
ВнизОшибка "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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c