1 / 1 / 0
Регистрация: 14.11.2011
Сообщений: 49
|
|
1 | |
Слишком много памяти для простого проекта28.07.2012, 23:13. Показов 5151. Ответов 39
Метки нет (Все метки)
Доброе время суток!
Подскажите, пожалуйста! Такой вот случай: программа по коду большая (более 4440 строк), но использует всего две библиотеки - vcl и fstream. В ней много элементов-картинок (около 220 штук, но по дисковому пространству они занимают всего около 5 Мб). Все действия происходят на одной-единственной форме. Так вот... При старте и в процессе работы программа потребляет 50604 килобайта оперативной памяти! Грешу на то, что сделана всего одна форма. Но это необходимо: форма тоже необычная, нарисованная, и все действия должны происходить именно на ней. Среда: Embarcadero C++ Builder XE2. Заранее спасибо!
0
|
28.07.2012, 23:13 | |
Ответы с готовыми решениями:
39
Запускается слишком много окон CMD Определено слишком много полей (но поля всего 5) После компиляции проекта exe файл весит 14 755 кб. Это слишком много для программы с 3 функциями Realm занимает слишком много памяти |
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 21:15 | 21 |
1
|
Я Фоюмчанин ? дааааа)
|
|||||||||||
30.07.2012, 22:05 | 23 | ||||||||||
у меня почему то неработает
0
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 22:16 | 24 |
TResourceStream переопределено в pngimage.pas; видимо мы используем разные версии этого компонента (ver.1.564 (31 July 2006))
0
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 22:27 | 26 |
Тогда в поток из ресурсов запускай, как определено в системе (там только два параметра, если не ошибаюсь).
0
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 22:36 | 28 |
Если включены подсказки в редакторе, то после набора строки TResourceStream( и небольшой паузы должна появиться подсказка об ожидаемом формате для параметров. Кажется, в стандартном TResourceStream всего два чарта, - без int в начале. Я это хотел сказать. Выдаваемые две ошибки - это ведь от несовместимости форматов TResourceStream.
0
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 22:44 | 30 |
- тогда может быть поможет добавление L перед кавычками ( ..Stream(0,L"PNG1",L"IMAGE"); )
0
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 22:50 | 32 |
Что ж.. - кнопке стоит верить. Ресурсы должны выглядеть вот так приблизительно (в оттранслированной программе)__
0
|
1 / 1 / 0
Регистрация: 14.11.2011
Сообщений: 49
|
|
30.07.2012, 23:06 [ТС] | 33 |
Спасибо большое!)
Avazart, Вам тоже) Я выгрузил библиотеку при помощи функции FreeLibrary((HMODULE)hLib); А с картинками сам бы не додумался
0
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 23:28 | 35 |
Без понятия. Пишите хоть так: PNG1 RCDATA "filename". Потом при извлечении можно указывать TResourceStream(0,L"PNG1",RT_RCDATA) <пишу по памяти, без проверки>
1
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
30.07.2012, 23:45 | 37 |
Создайте текстовый файл name.rc в любом текстовом редакторе; запишите там строки:
PNG1 RCDATA "filename1.png" PNG2 RCDATA "filename2.png" . . . и подключите этот файл к проекту (Project-Add to Project).
1
|
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
31.07.2012, 09:11 | 39 |
стало быть планида у вас такая...
0
|
Я Фоюмчанин ? дааааа)
|
|
31.07.2012, 11:18 | 40 |
nick42, Как говориться "Утро вечера мудренее". Я так тупил вчера.
0
|
31.07.2012, 11:18 | |
31.07.2012, 11:18 | |
Помогаю со студенческими работами здесь
40
Svchost.exe потребляет слишком много памяти Windows жрет слишком много оперативной памяти Просмотр изображений потребляет слишком много памяти Слишком много памяти в ОЖИДАНИИ. Как узнать, чем она занята? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |