Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.16;
Скачать: CL | DM;

Вниз

Обработка WM_SETTEXT   Найти похожие ветки 

 
alexnmsk   (2008-10-07 14:32) [0]

Добрый день. Делаю обработку сообщение WM_SETTEXT для того, чтобы заменить символы табуляции на "->"

procedure TSyntMemo.WMSetText(var Message: TWMSetText);
var
 S: String;
begin
 if Message.Text=nil Then Exit;
 if Message.Text="" Then Exit;
 S:=AnsiReplaceText(String(Message.Text), #9, "->");
//  StrDispose(Message.Text);
 GetMem(Message.Text,Length(S)+1);
 StrCopy(Message.Text, PChar(S));
 inherited;
end;

В таком виде все работает. Вопрос - нужно ли освобождать память, занятую прошлым значением Message.Text, если да, то как?


 
Григорьев Антон ©   (2008-10-07 14:45) [1]

Не нужно. Это толжен сделать тот, кто вызвал сообщение. А вот ту память, которую вы выделили с помощью GetMem, нужно освободить после inherited, иначе будет утечка.



Страницы: 1 вся ветка

Текущий архив: 2008.11.16;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.016 c
15-1221609374
Германн
2008-09-17 03:56
2008.11.16
WM_USER +100 vs WM_USER +400


11-1195480274
INFINITY
2007-11-19 16:51
2008.11.16
Установка MСK на D2006


2-1223038816
fellow
2008-10-03 17:00
2008.11.16
onmouseup и dbgrid


2-1223552041
Iris
2008-10-09 15:34
2008.11.16
объект-Контейнер


6-1195543220
Alex_C
2007-11-20 10:20
2008.11.16
Синхронизация времени через интернет средствами Windows