|
|
| Посл.отвђт | Сообщен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 |