· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› MMF

Посл.отвђт Сообщенiе


Дата: Апр 14, 2004 09:15:43

Подскажите как использовать MMF (Memory Mapped File) при открытии/сохранении текстовых файлов в простом редакторе (edit box). Пробовал поступить так: при открытии файла создавал MMF, соответстующего размера, помещал текст в edit box, закрывал сессию MMF. При сохранении создаю новый MMF, но этом Map должен быть уже другого размера. В этом и заключается вопрос: как мне получить новый размер текта в edit box, и в качестве какого параметра передать это значение при создании МMF. Заранее благодарен.


Дата: Апр 14, 2004 10:35:18

Я так понимаю, что тебе нужно получить размер текста. Воспользуйся для этого WM_GETTEXTLENGTH.

А MMF, кажется, здесь вообще ни при чем - всегда перед получением текста (откуда угодно) нужно сначала получить его размер.


Дата: Апр 14, 2004 10:40:02

Извини, перечитал твой вопрос, и понял, при чем тут MMF :)

Требуемый размер передается в функцию CreateFileMapping в параметрах dwMaxFileSizeHigh и dwMaxFileSizeLow.

Гм... как же ты создавал MMF, если не знаешь списка параметров функции, которая его создает? :-0


Дата: Апр 16, 2004 07:42:19

Если ты имеешь ввиду, как я создавал MMF при открытии файла, то тут все просто, передаешь два нуля, и память по умолчанию резервируется размером с исходный файл.

Я не совсем понимаю разницу между dwMaxFileSizeHigh и dwMaxFileSizeLow, как MaxSize может принимать два значения?


Дата: Апр 16, 2004 10:25:50

Это не два значения, а одно значение из двух частей - старшей и младшей. Если у тебя файл гарантированно меньше, чем 4 гига, то в dwMaxFileSizeHigh будет 0, а размер будет целиком умещаться в dwMaxFileSizeLow. Если же размер файла может быть больше, чем 4 гига, придется использовать оба параметра.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.081