|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.11.2012, 13:49 | #1 |
Регистрация: 19.11.2012
Сообщений: 7
|
MemAvail и MaxAvail
MemAvail и MaxAvail, может кто знает полный код функции, в инете искал не нашёл, или другие варианты замены данных функций, очень надо, в Lazarus-е не работает данная функция!
MemAvail - Возвращает количество всей свободной памяти в куче. MaxAvail - Возвращает размер самого большого непрерывного свободного блока в куче. Код:
|
19.11.2012, 14:26 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
В каком смысле - "Полный код"? Исходник, штоле?
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 19.11.2012 в 14:29. |
19.11.2012, 14:31 | #3 |
Регистрация: 19.11.2012
Сообщений: 7
|
Их по моему заменили чем-то что-ли, я не знаю чем, как сделать так что бы данный параметр заставить работать
|
19.11.2012, 15:26 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
RENXFIL, я вообще не уверен, что в Лазарусе есть такое понятие, как "свободная" память.. Да и главное, ЗАЧЕМ вам проверять, СКОЛЬКО памяти?
Используйте try except для обработки нештатных ситуаций. |
20.11.2012, 21:08 | #5 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
|
21.11.2012, 01:28 | #6 |
Регистрация: 19.11.2012
Сообщений: 7
|
Ладно, фиг с ним, придётся пропустить это место, я так то изучаю сам по книге =)
|
21.11.2012, 09:22 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Вы взяли руководство по управлению гужевой повозкой, сели в автомобиль, и теперь не можете найти, где же вожжи... (простите мне за столь драматическую аллегорию). Так вот, либо возьмите тот продукт, пособие (книгу) по которому Вы читаете, например, Turbo Pascal (только учтите, что эта среда разработки уже мертва, и труп тормошат исключительно в учебных целях!), либо, возьмите книгу по тому продукту, который Вы изучаете (кстати, если Вы уж учите Паскаль, то изучение Delphi намного полезней и перспективнее), либо, уж как минимум, не заморачивайтесь с теми отличиями, на которые Вы уже наткнулись (и наткнётесь ещё далее)... А так — успехов в обучении! |
|
21.11.2012, 13:20 | #8 |
Регистрация: 19.11.2012
Сообщений: 7
|
Модуль System не воспринимается почему?
ptr_prog.pas(3,21) Error: Duplicate identifier "SYSTEM" ------ Спасибо за совет(я об этом знаю!), не кто наверно не любит когда ему указывают, каждый преследует свои цели Последний раз редактировалось RENXFIL; 21.11.2012 в 13:35. |
21.11.2012, 14:46 | #9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
либо вы его дважды написали, либо модуль System в uses вообще не нужно указывать! (он там уже есть незримо!)
|
23.11.2012, 08:31 | #10 |
Регистрация: 19.11.2012
Сообщений: 7
|
Перевод, не корректен, но понятен.
Старые функции Turbo Pascal MemAvail и MaxAvail функции не доступны в Free Pascal, начиная с версии 2.0. Причина этой несовместимости ниже: На современных операционных систем, 4 идею "доступной памяти" не подходит для приложений. Причинами являются: Один процессор цикла после применения спросил OS, сколько памяти свободно, другое приложение может быть выделено все. Пока не ясно, что "свободная память" означает: оно включает подкачки памяти, имеет ли он дисковый кэш памяти (дисковый кэш может увеличиваться и уменьшаться на современном OS'es), она включает памяти, выделенной для других приложений, но которые могут быть выгружается из памяти, и т.д. Таким образом, программы, использующие MemAvail и MaxAvail функции должны быть переписаны, чтобы они больше не использовать эти функции, потому что оно не имеет смысла на современных ОС. Есть 3 варианта: Используйте исключения ловить вне ошибок памяти. Установить глобальную переменную "ReturnNilIfGrowHeapFails", чтобы правда и проверить после каждого распределении ли указатель отличается от Нила. Не волнует и объявить манекен функция называется MaxAvail, которая всегда возвращает High (LongInt) (или некоторые другие константы). Всё спасибо, ответ был дан) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аналог MaxAvail | pupilMartyr | Общие вопросы Delphi | 4 | 01.06.2011 19:23 |