Главная страница
    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.032 c
1-1093723576
UserUserov
2004-08-29 00:06
2004.09.12
Как связать программу срасширением?


14-1093247346
Andy BitOff
2004-08-23 11:49
2004.09.12
Raising exceptions


14-1093164776
banderas
2004-08-22 12:52
2004.09.12
Музыка из "Криминального чтива"


1-1093373344
Rlz
2004-08-24 22:49
2004.09.12
Вопрос по функциям


1-1093506999
SPy
2004-08-26 11:56
2004.09.12
TShellListView - стандартное popupmenu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский