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

Вниз

"Недостаточно памяти для завершения операции"   Найти похожие ветки 

 
alexey_potapov ©   (2006-11-17 17:28) [0]

Ошибка: "Недостаточно памяти для завершения операции".
При авто тестировании приложения (многочисленном открытии / закрытии окон)
наблюдается увеличение "объектов USER" (счетчик в таск менеджере).
На определенной итерации выдается ошибка (значение счетчика ~10000)
Недостаточно памяти для завершения операции
[40018CE9] Sysutils.RaiseLastOSError + $75
[00504214] Controls.TWinControl.CreateWnd + $130
...
(Т.е. получается что CreateWindowEx возратил 0)
известно что у windows есть ограничение на количество окон для процесса порядка 10000.
Но если я смотрю Ms Spy++, то количество окон в процессе гораздо меньше.
Использую delphi7, win2000 sp4. Утечек памяти (выделенной Memory Menager) нет.
Формы, на которых происходит утечка уничтожаются при закрытии
В связи с этим вопросы
1) Что входит в "объекты USER" - счетчике в таск менеджере помимо окон.
Возможно ли что это утечки не окон, а других win объектов?
2) Если предположить что это утечки окон, то как их обнаружить,
какой инструмент использовать? DestroyWindow уничтожает так же дочернии окна,
как в таком случае может происходить утечка?
Помогите ,пожалуйста, выработать методологию решения данной проблемы.


 
DVM ©   (2006-11-17 17:30) [1]

1) Это VCL окна?
2) Компоненты сторонние используются?
3) DestroyWindow() - зачем же так уничтожать окна?


 
clickmaker ©   (2006-11-17 17:34) [2]

значит, на какой-то CreateWindow нет своего DestroyWindow


 
alexey_potapov ©   (2006-11-17 17:35) [3]

1) Это обычные формы
2) Есть несколько собственных компонентов
3) DestroyWindow использует vcl


 
alexey_potapov ©   (2006-11-17 17:36) [4]

явно CreateWindow нигде не используется, все стандартные компоненты vcl + несколько производных


 
clickmaker ©   (2006-11-17 17:40) [5]

и что имеется в виду под "многочисленном открытии / закрытии окон"? В VCL закрытие формы далеко не тоже самое, что физическое уничтожение окна


 
alexey_potapov ©   (2006-11-17 17:58) [6]

я же написал "формы, на которых происходит утечка уничтожаются при закрытии" - то есть делается наподобе form.Free. В свою очередь все дочерние контролы должны уничтожится. Но какая-то утечка есть (возможно хандлов) есть. Но утечки самих объектов нет, так как это проверяется MemoryManager!


 
Rouse_ ©   (2006-11-17 22:19) [7]

Если Controls.TWinControl.CreateWnd , то значит не везде есть разрушение объектов. Если в твоем коде ты говоришь - нет утечьки, ищи ее в сторонних компонентах, которые используешь...



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

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

Наверх




Память: 0.46 MB
Время: 0.014 c
9-1141770485
KreeS
2006-03-08 01:28
2007.01.14
War Metal супер-гама грядет...


2-1166641119
Signate
2006-12-20 21:58
2007.01.14
Манипуляции с TSocket...


2-1165993024
VOPROS
2006-12-13 09:57
2007.01.14
Ошибка сервера. Excel.


2-1166795194
DelphiLexx
2006-12-22 16:46
2007.01.14
OnCalcFields


15-1166563263
Petr V. Abramov
2006-12-20 00:21
2007.01.14
DBF Direct Access





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