Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
1-7896
andrey_pst
2002-09-23 13:16
2002.10.03
Пункты в системном меню.


1-7917
Юрий Зотов
2002-09-23 11:12
2002.10.03
Выгрузка DLL с модально поднятой формой


1-8064
vadim2
2002-09-23 10:13
2002.10.03
Как изменить TInplaceEdit у TDBGrid?


4-8232
Eugene_Jek_Efimochkin
2002-08-18 00:43
2002.10.03
перерисовка заголовка


3-7849
Slava_BAZ
2002-09-13 07:09
2002.10.03
Отчёт из 3 таблиц?




   Наверх