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

Вниз

Вон из памяти   Найти похожие ветки 

 
RealRascal ©   (2004-04-23 00:45) [0]

В мой прогамме созается много объектов, она отжирает 700 мегов озу и пишет оут оф мемори. Я проставил везде, где надо, Destroy, они ситуация не изменилась качественно, только медленнее все стало... При вызове free почему-то выскакивает аксесс виола. как быть?

пс причем вот что интересно, по показаниям дисп задач в xp после введения destroy количество занимаемой памяти уменьшилось до положенных 30 мб, а количество виртуальной памяти * = росло до 700...


 
Anatoly Podgoretsky ©   (2004-04-23 00:48) [1]

Что же ты натворил


 
Yanis ©   (2004-04-23 00:51) [2]

Прикольная программа. Вот windows всё успевает делать и не жрёт столько памяти :)


 
ИМХО ©   (2004-04-23 01:53) [3]

Все очень просто, прога называется "Пожиратель Памяти"...


 
SPeller ©   (2004-04-23 05:02) [4]

Это не твоё творение - шутер в 94 КБ? :))) А то он у меня тоже 700 метров памяти отхавает, а после выхода из него процесс продолжает висеть, не освобождая при этом память.

:-))


 
Гаврила   (2004-04-23 08:47) [5]


> Я проставил везде, где надо, Destroy, они ситуация не изменилась
> качественно, только медленнее все стало... При вызове free
> почему-то выскакивает аксесс виола


Много есть еще на свете загадочного и непознанного :-)


 
Думкин ©   (2004-04-23 08:51) [6]


> RealRascal ©   (23.04.04 00:45)  
> При вызове free почему-то выскакивает аксесс виола. как быть?

Есть подозрение, что у тебя ошибка в программе.


 
Danilka ©   (2004-04-23 09:04) [7]

По-моему, там далеко не одна ошибка. А может-быть и вся программа - большая ошибка. :)


 
NeyroSpace ©   (2004-04-23 09:13) [8]

Утечка памяти? Может ты указатели уничтожаешь, а не объекты?


 
Anatoly Podgoretsky ©   (2004-04-23 09:14) [9]

Есть подозрение, что не уничтожает, а рожает


 
Сергей Суровцев.   (2004-04-23 10:20) [10]

>Думкин ©   (23.04.04 08:51) [6]
>Есть подозрение, что у тебя ошибка в программе.

Как можно! К честному человеку и такими подозрениями! :)))


 
Rule ©   (2004-04-23 10:43) [11]

а по моему ошибка в ДНК :) (шутка, тем более что не моя)


 
Иксик ©   (2004-04-23 11:14) [12]


> RealRascal ©   (23.04.04 00:45)  

Программка случайно не с большой БД работает?


 
Nous Mellon ©   (2004-04-23 11:47) [13]

Может в 17ой строке?
:)


 
wicked ©   (2004-04-23 12:15) [14]

мда...

> Вонь из памяти

:)


 
Digitman ©   (2004-04-23 13:46) [15]


> Я проставил везде, где надо, Destroy


"... а до того момента, пока я не обнаружил "обжорство" моей "прогаммы", я их не ставил ... ни "где надо" ни "где не надо" ... не царское это дело ..."

в связи с этим любопытно было бы узнать, как ты умудрился определить "гденадо"-места ? и уж если таки определил, то что тебе при сей гениальности стоит сиюминутно прекратить "обжорство" ?


 
Petr V. Abramov ©   (2004-04-23 15:58) [16]

Следующий этап - убедиться, что try .. finally тоже придумано не от нефиг делать :)


 
RealRascal ©   (2004-04-23 23:16) [17]

прошу прощения за отсутсвие... только щас в сеть смог вылезти...

> Anatoly Podgoretsky ©   (23.04.04 00:48) [1]
> Что же ты натворил

А что я натворил... не ошибается только тот кто ничего не делает

> SPeller ©   (23.04.04 05:02) [4]

неа

> > RealRascal ©   (23.04.04 00:45)  
> > При вызове free почему-то выскакивает аксесс виола. как
> быть?
>
> Есть подозрение, что у тебя ошибка в программе.

Прога - реализация МКЭ.
C меньшим количеством узлов все решает правильно(проверено решением модельной задачи моей прогой и на ANSYS - результат совпал с точностью до 7-го знака... и это не предел!:^))
Если и есть ошибка, то только с высвобождением памяти.
Используется модули для работы матрицами(взял с королевства)
LA_MAtrix

> NeyroSpace ©   (23.04.04 09:13) [8]
> Утечка памяти? Может ты указатели уничтожаешь, а не объекты?

Наверно... Основной класс - матрица - предок TOBJECT
TTemplateMatrix=class(TObject)
protected
 FTypeEl :TTypeEl;
 FName   :string;
 FElemOrd:TElemOrd;
 FData   :Pointer;
 FRows,
 FColumns :integer;
 FOnChange:TNotifyEvent;
 {Освобождает память выделенную под данные}
 procedure FreeData;                  virtual; abstract;
...
public
 constructor Create(ATypeEl:TTypeEl; const AName:String);
 destructor  Destroy;                 override;
...
...

constructor TTemplateMatrix.Create(ATypeEl:TTypeEl; const AName:String);
begin
FTypeEl:=ATypeEl; FName:=AName; FElemOrd:=eoRow;
FData:=nil;      FRows:=0;       FColumns:=0;
end;

destructor TTemplateMatrix.Destroy;
begin
FreeData;
inherited Destroy;
end;

А метод FreeData не реализован!!! Может в этом собака порылась?


> Иксик ©   (23.04.04 11:14) [12]

Нет. Никакого отношения к БД она не имеет.


> Digitman ©   (23.04.04 13:46) [15]

Ну вот, например, после того, как матрица становиться...
По расчетам, матрица таких размеров должна занимать в конце расчетов, несколько мегабайт. В процессе вычисления создается много матриц, они всяко там перемножаются, складываются и все такое... и после того как матрица становиться не нужна (если дальше нигде не используется), так сразу и вызываю деструктор...


> Petr V. Abramov ©   (23.04.04 15:58) [16]
> Следующий этап - убедиться, что try .. finally тоже придумано
> не от нефиг делать :)

Не, не катит... обявлено как глобальное и используется в разных местах...хотя возможно...


 
nikkie ©   (2004-04-24 02:13) [18]

>Прога - реализация МКЭ.
после 10 минут размышлений типа
Международная Космическая Экспедиция?
Московская Комическая Экспозиция?
наконец в моей измученной недосыпанием голове проявилось
Метод Конечных Элементов!
но что это такое и причем тут матрицы забыл я крепко...


 
УНЯ ©   (2004-04-24 02:21) [19]

МКЭ оно и в Африке мкэ... А ты случайно не продолжение Матрицы-революции пишишь?



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

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

Наверх




Память: 0.5 MB
Время: 0.035 c
3-1082402955
mur
2004-04-19 23:29
2004.05.16
# вместо русских букв в таблице в Database Desktop


1-1083023251
R
2004-04-27 03:47
2004.05.16
Обращение к ранее используемогу диску SaveDialog


14-1082881178
Piter
2004-04-25 12:19
2004.05.16
Почему TCP/IP?


14-1082786750
Mr.Credo
2004-04-24 10:05
2004.05.16
Shareware


3-1082710900
explorer
2004-04-23 13:01
2004.05.16
Добавление данных в БД





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