BtnType=(Binsert,bedit,bdelete,bsave,bcancel,bsearch,bclose)  ;
   TAllStyle=set of BtnType;
   TEdbStyle=binsert..bedit;
   TUdbStyle=bdelete..bcancel;
   TDialogStyle=bsearch..bclose;以上是我定义集合,请问这一句为什么出错
   if AStyle in TAllStyle then

解决方案 »

  1.   

    var
      d:TAllStyle;
    ---------------------
    begin
      d:=d+[Binsert];
      if Binsert in d then
        ShowMessage('在里面')
      else
        ShowMessage('不在里面');end;
      

  2.   

    你出错的是原因 ASytle 是集合, TAllStyle 是集合的类型。所以出错了。in 判断元素是否在集合中存在。如下代码
    procedure TForm1.Button1Click(Sender: TObject);
    type
      BtnType = (Binsert,bedit,bdelete,bsave,bcancel,bsearch,bclose);
      TAllStyle = set of BtnType;
    var
      AllStyle: TAllStyle;
    begin
      AllStyle := [Binsert];
      if Binsert in AllStyle then
        ShowMessage('IN');
    end;
      

  3.   

    支持 jacky_shen(jacky) 的说法!类型和变量的问题。