Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Вниз

Проблемы с памятью   Найти похожие ветки 

 
Кирилл Усов   (2002-07-10 11:21) [0]

Здравствуйте господа! Может, кто-то знает ответ на такой вопрос:
Приложение работает с БД Interbase. Есть DataModule, где находится tDatabase. Во время разработки, когда я добавляю новые ttable и на tquery на формы, связывая их с tDatadase, он ессно открывает сеанс с реальной БД. После нескольких часов работы при очередной компиляции выдается ошибка: "Alias db1: Unsufficiant memory for this operation"! И удаляется такая ошибка только выходом из сеанса. не помогает ни закрытие Дельфи, ни рестарт Сервера. неужели действительно так плохо используется память, не освобождаясь после работы? Подскажите, как это ликвидировать! Если решение будет удачным, с меня пыво!:)


 
Толик   (2002-07-10 12:10) [1]

Это всё из-за BDE. Такое происходит в случае, когда в программе не происходит прямо или косвенно вызов TDatabase.Close(). Например, если программа закрывается из под отладчика через Run-ProgramReset (Ctrl + F2). Отсюда и выводы:
1. Закрывать открытые TDatabase
2. Если уж такое произошло, то закрыть все BDE-использующие приложения.
Надеюсь, что данное решение будет удачным - очень уж пивка хочется :)


 
Игорь Шевченко   (2002-07-10 12:21) [2]

Перед сохранением проекта установите Database.Active в false


 
Кирилл Усов   (2002-07-10 13:45) [3]

Спасибо за советы!
Т.е. получается, что если у меня постоянно во время разработки идет обращение к tDatabase(создаю ttable и tquery, например), то такая ошибка будет неизбежна? Может быть надо как-то(подскажите как?) выделять больше памяти под BDE?
толик, утомительно уж каждые 10 мин обращаться к tDatabase и закрывать его:(


 
Eugene Lachinov   (2002-07-10 13:54) [4]

Попробуй увеличить SHAREDMEMSIZE в BDE Adminе на странице Configuration-Init


 
Толик   (2002-07-10 14:32) [5]

to Кирилл Усов:
Не совсем так. Речь идёт о том, что каждому TDatabase.Open() должен соответствовать свой TDatabase.Close() (точнее BDE-шные ф-и, которые там вызываются). В данном случае происходит типичная утечка ресурсов: выделяем - забываем(не можем) закрыть - выделяем снова.
TDatabase м.б. открыт сколь угодно долго, главное - его закрыть ПОТОМ, когда он больше не нужен.


 
Skier   (2002-07-10 14:37) [6]


> каждому TDatabase.Open() должен соответствовать свой TDatabase.Close()
>


Присоединяюсь.
Вообще в данном случае это можно сравнить с объектом.
1. Создали объект. 2. Поработали с ним 3. Убили объект чтобы
не кушать память без надобности.

>Кирилл Усов
Ещё можно посмотреть MAXFILESHANDLES на странице Configuration-Init



 
Кирилл Усов   (2002-07-10 14:40) [7]

Куда пыво высылать?


 
Игорь Шевченко   (2002-07-10 14:43) [8]

Кирилл Усов (10.07.02 14:40)

Сам на радостях выпей :-)



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

Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
7-70949
Merle Corey
2002-04-27 14:26
2002.07.22
Генерация GUID


14-70893
DKalinin
2002-06-25 12:09
2002.07.22
Картинки для SpeedButton в инете где скачать можно?


1-70723
nitro313
2002-07-11 14:37
2002.07.22
Как присвоить к Caption строковое значение в одинарных кавычках?


14-70875
Bboy
2002-06-24 16:15
2002.07.22
Проблема совместимости CeQuadrat с XP!!!!?????


1-70772
3asys
2002-07-09 23:23
2002.07.22
Как скрыть закладку (TTabSheet) у TPageControl





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