Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.44 MB
Время: 0.011 c
2-1223452737
123-ий
2008-10-08 11:58
2008.11.16
Выяснить наличие св-в Caption и Text


15-1221368214
Sergey Masloff
2008-09-14 08:56
2008.11.16
Компьютер дохнет. Нужны идеи


2-1223206467
ЛамоРщщук
2008-10-05 15:34
2008.11.16
Как найти все главные Окна и распредилить их по заголовку ?


4-1200229460
Navi
2008-01-13 16:04
2008.11.16
Управление LPT - перевести код с VB на Delphi


15-1221643996
DevilDevil
2008-09-17 13:33
2008.11.16
Define-ы версий Delphi ?




   Наверх