我在一个单元里定义了一个枚举类型
type
  fShowType = (fstNone, fstUpdate, fstAudit, fstBrowse)然后在另一个单元里use 前一个单元,想引用前一个单元声明的类型
type 
  fshowTypess = fShowType;
到这里编译都有没有问题,当我在这个单元里使用这个类型的变量时出了问题,
var
  f: fShowTypess;
begin
  f := fstUpdate; //  在这里说找不着fstUpdate;
end;
哪位能帮帮我!!!!

解决方案 »

  1.   

    type
      TForm1 = class(TForm)
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    type
      fShowType = (fstNone, fstUpdate, fstAudit, fstBrowse);var
      Form1: TForm1;implementation
    -----------这样写,再在另一个单元里引用后使用,没有错的,我试过了
      

  2.   

    type 
      fshowTypess = fShowType;
    ??这么做为何,直接引用不就可以吗?
      

  3.   

    为什么还有fshowTypess 
      

  4.   

    然后在另一个单元里use 前一个单元,想引用前一个单元声明的类型
    type 
      fshowTypess = fShowType;
    到这里编译都有没有问题,当我在这个单元里使用这个类型的变量时出了问题,
    var
      f: fShowTypess;
    begin
      f := fstUpdate; //  在这里说找不着fstUpdate;
    end;
    ///////注意,如果你这个单元想使用前一个单元的fshowtype的话必须在interface下面的uses里。
      

  5.   

    我use的地方是对的,  qiaoqiaowo说的我也试了,还是说找不到,你真的试了吗?
      

  6.   

    f := [fstUpdate]; //  在这里说找不着fstUpdate;
    老兄你也太粗心了
    前面定义的是set
    后面怎么能直接=呢,
    加上中括号
      

  7.   

    qiaoqiaowo 你说的我试通了,是没问题的。
    我是这么想的:父窗体里声明个枚举类型fShowType,并且定义了一个属性FormShowType,使用了fShopType类型。
      新的窗体继承父窗体,只继承了属性FormShowType,但是不识别枚举类型fShowType。
      新窗体所在的工程里有一个公共单元,我想把枚举类型fShowType声明在这个公共的单元里,这时就出现了我上面提出的问题。
      在新窗体里声明公共单元里引用的类型fShowType 的变量,负的枚举值不识别。  大家能看懂我的意思吗?