const定义的当然不能赋值,
所以编译通不过。

解决方案 »

  1.   

    procedure  TForm1.OnIconNotify(var  Message:  TMessage);
    {$J+} //如果你的编辑环境是Delphi6//可能这段代码是在Delphi5下调试的
    const
       Busy : Boolean = false;
    //Delphi6默认为{$J-},而Delphi5默认为{$J+}
    //具体资料请你参考Help
      

  2.   

    const是定义常量的,常量是不能被负值的。
    将const改为var吧,他是定义变量的。
      

  3.   

    unit Unit1;interfacevar
      I1: Integer = 2002; //对于单元变量是可以赋初值的implementationvar
      I2: Integer = 2003; //对于单元变量是可以赋初值的function f: Boolean;
    //var
    //  J: Integer = 10; //对于函数变量却不可以
    const
      J: Integer = 10; //但通过类型常量来赋初值//这样就相当于静态变量//如果编译环境是{$J+}则可以修改其值
    begin
    end;end.
      

  4.   

    const也可以被赋值的,叫做可赋值常量,相当于C语言中的静态变量。
    不过,要进行相应设置。方法是:菜单上的:project->options->
    Compiler,然后让Assignable typed constantst选中,就可以了。
    或者采用zswang(伴水)(准备去流浪) 的方法,给它加上个{$j+}的编绎
    指示!
      

  5.   

    const
       Busy : Boolean = false;
       在后面的代码中, 对Busy进行了赋值. 缺省情况下, Delphi允许你这样做. 而且, 这样可以使下次调用TForm1.OnIconNotify()时, Busy保持上次修改后的值. 这相当于使用了一个全局变量.
        关于这个技巧更多知识, 可以查看《Delphi技术手册》. 这种技巧的准确名称是"带类型常量".
      

  6.   

    《Delphi技术手册》
    这本书是不是没有电子版的呀。我在网上找不到。
      

  7.   

    const 是静态的 常量 
    var 变量
      

  8.   

    我照  dedema(思想恐龙)  的方法做了,第一个问题解决了。但是下面还有问题。我没有碰到过。谢谢大家再帮我看看。
    {当主Form建立时通知Windows加入小图标}  
    procedure  TForm1.FormCreate(Sender : TObject);
    var  
    nid:  TNotifyIconData;  
    begin  
    nid.cbSize  :=  sizeof(nid);  //  nid变量的字节数  
    nid.Wnd  :=  Handle;  //  主窗口句柄  
    nid.uID  :=  -1;  //  内部标识,可设为任意数  
    nid.hIcon  :=  Application.Icon.Handle;  //  要加入的图标句柄,可任意指? 
    nid.hIcon  :=  Application.Icon.Handle;  //  要加入的图标句柄,可任意指? nid.szTip  :=  'This  is  a  test  application';  //  提示字符串  
    nid.uCallbackMessage  :=  MY_MESSAGE;  //  回调函数消息  
    nid.uFlags  :=  NIF_ICON  or  NIF_TIP  or  NIF_MESSAGE;  //  指明哪些字段有? if  not  Shell_NotifyIcon(NIM_ADD,  @nid)  then  begin  
    ShowMessage('Failed!');  
    Application.Terminate;  
    end;  
    {将程序的窗口样式设为TOOL窗口,可避免在任务条上出现}  
    SetWindowLong(Application.Handle,  GWL_EXSTYLE,  WS_EX_TOOLWINDOW);  
    end;  还有这里:nid.uID  := -1;  //  内部标识,可设为任意数这里提示出错了。
    说是Constant expression violates subrange bounds到底为什么呢 ?