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

Вниз

"Out Of System Resourses".   Найти похожие ветки 

 
AlexanderMS ©   (2006-06-30 19:06) [0]

Ошибка во время выполнения моей программы. :( . Появляется при открытии окна "О программе", и то не всегда, но 2 раза уже заметил. Как с этим бороться?
Если посмотреть на её "аппетит" в Диспетчере задач, то он иногда приближается к отметке 10 МБ, а в основном - около 2500 КБ. Но это вроде бы цветочки, по сравнению с... Delphi!
Я думаю, не потому ли, что все тексты висят в памяти в виде переменных (всего около 1500-2000 символов, мне это необходимо (но не обязательно) для быстрого переключения программы с одного
языка на другой).

В окне Project -> Information следующие данные:

Data Size: 10625 bytes
Initial Stack Sze: 16384 bytes


 
Джо ©   (2006-06-30 19:06) [1]

Посмотри на кол-во используемых ресурсов GDI.


 
koha   (2006-06-30 19:16) [2]

Может быть у тебя много глобальных переменных типа integer - разнеси их по локальным процедурам.


 
koha   (2006-06-30 19:27) [3]

Все процедуры и функции хранят в памяти свои переменные вблизи, а если ини используют много глобальных переменных то при каждом вызове процедуры она использует "далекие" переменные для себя, хранящиеся в другом стеке, соответственно процесс может наращивать мегабайты. Лучше переменные хранить "вблизи" своих процедур, чтоб они были в одном стеке.


 
DrPass ©   (2006-06-30 19:35) [4]


> koha   (30.06.06 19:27) [3]

Наверное, учитель информатики тебя молчаливо ненавидит, но ничего не может сделать


 
Ega23 ©   (2006-06-30 19:37) [5]


> Может быть у тебя много глобальных переменных типа integer
> - разнеси их по локальным процедурам.


Ты, прежде чем отвечать, сначала задумайся - сколько же должно быть глобальных переменных типа Integer, чтобы вывалилось Out of System Resources?

По сабжу: буквально сегодня такое было. Но это IDE чудил.
Кстати, как ты её запускаешь: из-под отладчика?


 
Ega23 ©   (2006-06-30 19:37) [6]


> DrPass ©   (30.06.06 19:35) [4]


:)


 
koha   (2006-06-30 19:44) [7]

Сорррии не разобрал суть вопроса  "Out of System Resources" ......
Но это я про то пытался сказать как может прога 400 кб. занять процесс
аж 3 - 4 мб.


 
Ega23 ©   (2006-06-30 19:47) [8]


> Но это я про то пытался сказать как может прога 400 кб.
> занять процесс
> аж 3 - 4 мб.
>


А один фиг чушь сказал. Integer - 4 байта. 4Мб - 400Кб ~ 3,5Мб. Это примерно 700.000 переменных типа Integer.


 
koha   (2006-06-30 20:08) [9]

Вот про 4кб. - я согласен, тысячу инттежеров не нужно. достаточно одной переменной в ненужном месте и компилятор сам раздует вашу прогу ненужным кодом, если за одной переменной нужно через пару стеков в памяти лазить. Стоит попробывать пару Integer - ов потягать всеми процедурами которые есть и можно увидеть как она дуться будет, а затем убрать их -  прога заметно похудеет.
И это уже проверено неоднократно, но это относится не только Integer, но и к другим переменным тоже.


 
Desdechado ©   (2006-07-01 13:38) [10]

Есть подозрения, что создаваемые через .Create объекты нигде не уничтожаются. Особенно серьезно это может быть по части форм и объектов GDI, менее серьезно - от всяких массивов и списков.
Почитай книжки по динамическому созданию и уничтожению объектов.
Погоняй MemProof на предмет утечек ресурсов.



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

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

Наверх




Память: 0.49 MB
Время: 0.045 c
6-1133173673
shadowonline
2005-11-28 13:27
2006.07.23
Передача картинки через Socket


2-1151949191
Fantos
2006-07-03 21:53
2006.07.23
Мерцание png


1-1150060251
leonidus
2006-06-12 01:10
2006.07.23
Как прочесть юникодную строку из буфера обмена


6-1142275793
Новочеркасский Волк
2006-03-13 21:49
2006.07.23
Как заставить два TClientSocket отправлять одновременно текст!!!


15-1151205760
Аццкий юзар
2006-06-25 07:22
2006.07.23
А можно юзать ShellAbout? Микрософт не против?