procedure TForm1.FindDialog1Find(Sender: TObject);
var
    FoundAt:LongInt;
    StartPos, ToEnd:integer;
begin
    with form1.Memo1 do
    begin
        if SelLength<>0 then
           StartPos:=SelLength+SelStart
        else
           StartPos:=0;        ToEnd:=Length(Text)-StartPos;
        FoundAt:=FindText(FindDialog1.FindText,StartPos,ToEnd,[stMatchCase]);    这句的FindDialog1.FindText为何是无定义的?下面的却可以
        if FoundAt<>-1 then
           begin
             SetFocus;
             SelStart:=FoundAt;
             SelLength:=Length(FindDialog1.FindText);
           end;
    end;
end;