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

Вниз

Нехватка памяти в BDE   Найти похожие ветки 

 
Извращенец2   (2002-09-11 15:24) [0]

Здравствуйте! Столкнулся с такой проблемой: похоже BDE жрет память и самостоятельно ее не освобождает. Во время разработки проекта открываю наборы данных (tDatabase.Active=true) и через некоторе время(2-3 часа) при попытке работы с данными выходит ошибка "Unsufficient memory for this operation". Догадался, что запас памяти, выделенный для BDE кончается. Как решить эту проблему, кроме как постоянно следить за закрытостью наборов данных при разработке?
Заранее спасибо:)


 
REA   (2002-09-11 16:40) [1]

Скорее всего память жрет кто-то другой, а ему просто нехватает.
А какого рода операции с базой?


 
ppcat   (2002-09-11 18:16) [2]

Попробуй так: сначала Project -> Build, затем Run.


 
MsGuns ©   (2002-09-11 18:29) [3]

>tDatabase.Active=true во время разработки.
Ни в коем случае !
Только на фазу проектирования визуальных компонент (гридов, например). Затем сразу закрывать и коннектить программно, например, по FormShow. Избавит от огромного множества проблем, особенно если юзаешь Paradox или dBase (зависания, сообщения типа Table in use.. и т.д.)


 
KDS ©   (2002-09-11 18:34) [4]

>MsGuns
Ты прав!
И при выходе из программы всегда закрывать соединение
Session.Close;


 
MsGuns ©   (2002-09-11 18:42) [5]

>KDS © (11.09.02 18:34)
>И при выходе из программы всегда закрывать соединение
Session.Close;

Вообще-то при выходе из программы работает деструктор. Он в числе прочего выполняет приведенную Вами строку, закрывая сессию.
Хуже, если прога не завершилась нормально, тогда сессия остается открытой и конкурирует с "висящей" в ОП Делфой. Повторный запуск исправленного проекта в таких случаях и приводит к нехорошим экскпшинам. В таких случаях надо или опускать Делфу или менять у нее WorkDirecory


 
KDS ©   (2002-09-11 19:01) [6]

>или менять у нее WorkDirecory
да просто постирать файлы с расширением LCK


 
MsGuns ©   (2002-09-11 19:12) [7]

>KDS © (11.09.02 19:01)
>или менять у нее WorkDirecory
да просто постирать файлы с расширением LCK

Вот после этого точно придется Reset давить.



 
Извращенец2   (2002-09-12 05:58) [8]

База у меня IB 5.6. Я точно уверен, что это BDE жрет память.
А что за файлы *.lck? Некоторые люди советовали увеличить объем выделяемой памяти через какое-то св-во алиаса...Не скажете как?
Я конечно постараюсь закрывать соединения, но как бы я там ни старался, эта ошибка выходит вновь.


 
Alexandr ©   (2002-09-12 06:34) [9]

в дельфи при отладке Run/ProgramReset не нажимай т.к. в этом режиме BDE глючит..., а впрочем, как и при работе "снять задачу" по-моему.


 
Виталий Панасенко   (2002-09-12 09:08) [10]

BDEAdmin->Configuration->Init-SharedMemSize сделай по-больше, чем 2048



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
1-7977
Akim2
2002-09-20 18:45
2002.10.03
Можно ли достучаться к Property класса по имени


6-8087
skeeper
2002-08-02 13:48
2002.10.03
Заполнение формы


3-7862
cherepovets
2002-09-13 11:57
2002.10.03
DBGrid


1-8035
Korona
2002-09-22 15:35
2002.10.03
Почему не работает енаблед?


14-8123
Карлсон
2002-09-07 22:47
2002.10.03
Как защититься от нюкера?