Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-1090870409
}{ander
2004-07-26 23:33
2004.09.12
Изменение обоев рабочего стола


3-1092735465
REA
2004-08-17 13:37
2004.09.12
Сброс Lookup поля


14-1093198970
Константинов
2004-08-22 22:22
2004.09.12
DVD фильмы


14-1092641032
VictorT
2004-08-16 11:23
2004.09.12
Вот, хочу поделится радостью


14-1093464952
Piter
2004-08-26 00:15
2004.09.12
Ресивер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский