例如CONST b:string=‘’;
可以在过程中B:=‘’;报错说程序左边不能赋值;为什么?
还有,类型常量是全局变量,那它对定义的位置有什么要求?

解决方案 »

  1.   

    常量是不能变的。在过程中要改变值的就用变量吧。在interface ...implementation中定义是全局变量。其它单元只要有USES进去都可以使用。在implementation之后定义的只能在本单元使用
      

  2.   

    你的写法是正确的!,可能是你的引号的问题;
    const  bbb: string = '';edit1.text:= bbb;
      

  3.   

    那是书的问题吗?
    我看的这本书认为
    CONST b:string='';
    那么b是个变量,是可以赋值的!
    《delphi6.0开发实务》---电子工业出版社P54
    原文:类型常量不是一个常量!它是一个全局变量,只不过在编译时
    用特定的值预初始化,在运行时仍可修改。
      

  4.   

    Writeable consts refers to the use of a typed const as a variable modifiable at runtime. For example:const   foo: Integer = 12;
    begin
        foo := 14;end.
      

  5.   

    但是必须配置编译开关
    Type Switch
    Syntax {$J+} or {$J-}
    {$WRITEABLECONST ON} or {$WRITEABLECONST OFF}
    Default {$J-}
    {$WRITEABLECONST OFF}
    Scope Local
      

  6.   

    ?????
    我从来只是用
    const pp='hahahaa';
    为什么还要const pp:string='asdfsa'
    奇怪
      

  7.   

    const 定义的时候,如果加了类型说明,则这个就相当于一个变量,是可以被改变值的。不用类型,则不可更改。const b = 'ABC';
    const a: string = 'ABC';是不一样的。
      

  8.   

    const  bbb: string = '';
    --->>>
    var    bbb: string = '';能符值就不是常量了,换一种写法吧。