Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Что за ошибка????


Автор: WaReZMEN 16.11.2007, 03:02
[Pascal Error] E2161 RLINK32: Too many resources to handle.
Все было нормуль не поиму что случилось но щас проект не компилеться не запускается (комп перезапускал не помогает)


M
Alexeis
Модератор: Название темы должно отражать ее суть!

Автор: WaReZMEN 16.11.2007, 03:38
Это не фаст репорт... на других компах компилется.... у меня другие проекты тож компилятся...

Автор: OdesitVadim 16.11.2007, 12:51
слишком большой проект и мало свободной памяти/хендлов
попробуй добавить полоску памяти, расширить объем виртуальной памяти, позакрывать лишние программы. часто антивирус/фаервол, приняв прогу за вирусоподобное, начинает с линковщиком воевать.

Автор: WaReZMEN 16.11.2007, 13:35
OdesitVadim, да я комп даже перезагружал... единственно что я перед последним компилем иконку пихнул...

Автор: Alexeis 16.11.2007, 14:24
Цитата(OdesitVadim @  16.11.2007,  12:51 Найти цитируемый пост)
расширить объем виртуальной памяти, позакрывать лишние программы. часто антивирус/фаервол, приняв прогу за вирусоподобное, начинает с линковщиком воевать. 

  Совершенно не верное утверждение. Настоятельно советую почитать книжку рихтера по проектированию приложений Win32.
Виртуальную память нельзя увеличить. Ее всегда 2 или 3 Гб для КАЖДОГО процесса.

Добавлено через 1 минуту и 51 секунду
WaReZMEN, мне кажеться ошибка в рес файле или DFM файле.

Автор: OdesitVadim 16.11.2007, 14:39
Alexeis, 
имеет 2 или 3 гига адресуемой. но если размер свопа+оперативки недостаточен - то это не поможет.

И Рихтера я читал, да, хендлы в перещёте на процесс выделяются, но память, хоть у каждого своя по 2 гига, но как бы ос не старалась, но выделить больше чем ОЗУ+своп - не может. и это уже на все приложения.

WaReZMEN, 
А если иконку откатить или поставить другую - компилируется?

Автор: Alexeis 16.11.2007, 14:55
Цитата(OdesitVadim @  16.11.2007,  14:39 Найти цитируемый пост)
имеет 2 или 3 гига адресуемой. но если размер свопа+оперативки недостаточен - то это не поможет.

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

Автор: OdesitVadim 16.11.2007, 16:13
Alexeis, 
Ок. Зайдем по другому.
Определение виртуальной памяти от МС http://windowshelp.microsoft.com/Windows/ru-RU/Help/fd3e9104-1076-4600-9f9d-8739849387ec1049.mspx
Цитата

Виртуальная память — сочетание памяти ОЗУ и временного хранилища на жестком диске. Когда памяти ОЗУ недостаточно, данные из оперативной памяти помещаются в хранилище под названием файл подкачки. 

Так что называем своими именами и не путаем адресуемую память и виртуальную. и увиличить её можно.http://windowshelp.microsoft.com/Windows/ru-RU/help/89ca317f-649d-40a6-8934-e5707ee5c4b81049.mspx. smile 

Автор: Alexeis 16.11.2007, 16:55
Цитата(OdesitVadim @  16.11.2007,  16:13 Найти цитируемый пост)
Определение виртуальной памяти от МС здесь

  Это же определение для чайников. Скорее даже пояснение механизма чем определение. 
См. http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C

  Вот например, открываем диспетчер задач -> быстродействие. Смотрим разделы
Всего, Физическая память, Выделено памяти, память ядра, никакого упоминания о том сколько всего выделено виртуальной памяти.

  Например функция GlobalMemoryStatus дает результаты
Цитата

dwTotalPhys 
The total size of physical memory, in bytes. 
dwAvailPhys 
The size of physical memory available, in bytes. 
dwTotalPageFile 
The size of the committed memory limit, in bytes. 
dwAvailPageFile 
The size of available memory to commit, in bytes. 
dwTotalVirtual 
The total size of the user mode portion of the virtual address space of the calling process, in bytes. 
dwAvailVirtual 
The size of unreserved and uncommitted memory in the user mode portion of the virtual address space of the calling process, in bytes. 


Как только речь зашла о виртуальной памяти так сразу уточнение - виртуальная память процесса.
  
Действительно фигня выходит. Компьютер может использовать больше 4х Гигабайт памяти, при этом каждый процесс не может получить больше 2х в свое распоряжение. Мне кажеться что виртаульная память компьютера что-то вроде жаргонизма. 

Автор: WaReZMEN 17.11.2007, 05:49
Иконку менял обратно... dfm и res удалял а также c ~ тоже.... Не могу понять на других компах то компилится тока на моем не хочет и только этот проект... (Он не большой есть куда более большие и сложные проекты....) я даже реестр почистил… На оф саите написано мол удалите res и все будет OK. но мне не помогает почему-то…. Кстате у меня BDS.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)