Столкнулся с такой проблемой:
Надо в текстовом поле отобразить большой (около 180Кбайт) текст, а если памяти не хватает, то хотя бы его кусок.
Я поступаю так: сначала запрашиваю размер максимального блока памяти с помощью функции MemHeapFreeBytes(), потом вычитаю из этого размера (на вский случай из этого, а не из общего объёма свободной памяти) 64К на другие нужды, потом отвожу память.
Но память не отводится, хоть её и много!
Tungsten T3, Palm OS 5.2.1, сообщает, что у него свободно 325Кбайт непрерывного пространства ОЗУ (имеется в виду Dynamic heap, а не вся память), но при попытке выделения блока 180Кбайт обламывается, возвращая NULL. Так же ведут себя и эмуляторы.
Собственно вопросы:
1. В чём я ошибаюсь?
2. Как получить большой блок памяти для текста, чтобы потом передать его функции fldSetTextHandle() ?