Здарова программисты!
Типа класс:
#include "vcl.h"
#include "mainForm.h"
#include
#include
class xRichFind
{
private:
TFindDialog *FindDialog1;
  void FindTx(TRichEdit *Richedit);
protected:
public:
xRichFind();
~xRichFind();
void FindText_in_Rich(TRichEdit* RichEdit);
};
void xRichFind::FindTx(TRichEdit *Richedit)
{
int FoundAt,StartPos,ToEnd;
TSearchTypes Option;
StartPos = Richedit->SelStart;
if(Richedit->SelLength)StartPos+=Richedit->SelLength;
ToEnd = Richedit->Text.Length()-StartPos;
if(FindDialog1->Options.Contains(frWholeWord))OptionComctrls::stWholeWord;
else Option>>Comctrls::stWholeWord;
if(FindDialog1->Options.Contains(frMatchCase))OptionComctrls::stMatchCase;
else Option>>Comctrls::stMatchCase;
if(FindDialog1->Options.Contains(frDown))
FoundAt=Richedit->FindText(FindDialog1->FindText,StartPos,ToEnd,Option);
else
FoundAt=Richedit->FindText(FindDialog1->FindText,0,StartPos,Option);
if(FoundAt!=-1)
{
Richedit->SelStart = FoundAt;
Richedit->SelLength = FindDialog1->FindText.Length();
}
else
{
ShowMessage("????? ????? \""+FindDialog1->FindText+"\" ? ????????? ???????!");
}
};
//-----------------------------------------------------------------------
void xRichFind::FindText_in_Rich(TRichEdit *Richedit)
{
if(FindDialog1->Execute())
{
  FindTx(Richedit);
};
};
xRichFind::xRichFind()
{
FindDialog1 = new TFindDialog(Form1);
};
xRichFind::~xRichFind()
{
delete FindDialog1;
};
Думаю вот...почему ошибка, что не так. Есть предположения и многие, но нужен точный ответ. поэтому спрашиваю у вас...