Перехватить выводимый в DBRichEdit текст

копосов нв
Дата: 13.10.2006 15:43:55
Подскажите как можно подменить выводимый в DBRichEdit текст?
-----------------------------------------------------------
Информация – это то, чем я пользуюсь для принятия решений.

Бернерс-Ли
Obrazer
Дата: 13.10.2006 15:59:55
я два раза два раза не повторяю не повторяю
копосов нв
Дата: 13.10.2006 16:15:07
Obrazer
я два раза два раза не повторяю не повторяю


да вот такие (_!_) каналы связи
Obrazer
Дата: 13.10.2006 16:36:12
копосов нв
да вот такие (_!_) каналы связи

Которые помогают за ОДНУ минуту, затопить два АБСОЛЮТНО РАЗЛИЧНЫХ по тексту, но АБСОЛЮТНО ОДИНАКОВЫХ по смыслу топика?
копосов нв
Дата: 13.10.2006 17:06:09
Посмотрите код
procedure TFormPIR2PIR.DBTextChange(Sender: TObject);
var
  StringList : TStringList;

begin
  StringList := TStringList.Create;
  try
    StringList.LoadFromStream(OraBasicQuery.CreateBlobStream(OraBasicQueryTEXT,bmRead));
    StringList.Text := StringReplace( StringList.Text,'\fcharset0 ','\fcharset204 ', [rfReplaceAll,rfIgnoreCase]);
    DBText.Text := StringList.Text;
  finally
    StringList.Free;
  end;
end;

Почему-то кричит Stack overflow.
----------------------------------------------------------
Информация – это то, чем я пользуюсь для принятия решений.

Бернерс-Ли
dominator_
Дата: 13.10.2006 21:15:43
Строка DBText.Text := StringList.Text инициирует событие DBText.OnChange...
копосов
Дата: 14.10.2006 12:03:50
dominator_
Строка DBText.Text := StringList.Text инициирует событие DBText.OnChange...


и как быть?
ведь DBText.Text := '1'; работает без проблем!
Obrazer
Дата: 14.10.2006 12:18:25
копосов

и как быть?

Отказаться от ДуБового компонента

Выполняй ту же конструкцию в AfterScroll датасета и записывай содержимое блоба в простой RichEdit

А при изменении в RichEdit-е записывай обратно в поле
Obrazer
Дата: 14.10.2006 12:23:45
Или написать свой конвертор (TConversionClass = class of TConversion;
)
И подставить в DefaultConvertor TDBRichEdit-а
dominator_
Дата: 15.10.2006 11:44:23
Я бы сделал так:
var sign: string;
....
procedure TFormPIR2PIR.DBTextChange(Sender: TObject);
var
  StringList : TStringList;

begin
  if sign='change'  then exit;
  StringList := TStringList.Create;
  try
    StringList.LoadFromStream(OraBasicQuery.CreateBlobStream(OraBasicQueryTEXT,bmRead));
    StringList.Text := StringReplace( StringList.Text,'\fcharset0 ','\fcharset204 ', [rfReplaceAll,rfIgnoreCase]);
    sign:='change';
    DBText.Text := StringList.Text;
    sign:='';
  finally
    StringList.Free;
  end;
end;