left side cannot be assigned to,如何解决???怎么修改???(1分)

  • 主题发起人 主题发起人 狼牙
  • 开始时间 开始时间

狼牙

Unregistered / Unconfirmed
GUEST, unregistred user!
const
; bFirstCalled: Boolean = True;
var
; hEvent: THandle;
begin
; if Code = HC_ACTION then // 动作代码为 HC_ACTION 时才处理
; begin
; ; if bFirstCalled then // 第一次呼叫时进行 subclassing
; ; begin
; ; ; bFirstCalled := False;
 
>const
> ;bFirstCalled: Boolean = True;
你怎么定义成常量?这当然不能赋值了。
 
不是我写的。是宽达同志写的一个dll中得片断,但我重新编译(big5->gb)后
发现这个常量无法改变。。。怎么办?
 
var
; bFirstCalled: Boolean = True;
设置成变量就可以了。
 
编译通过
procedure TForm1.FormCreate(Sender: TObject);
const
; bFirstCalled: Boolean = True;
var
; hEvent: THandle;
begin
// ;if Code = HC_ACTION then // 动作代码为 HC_ACTION 时才处理
// ;begin
; ; if bFirstCalled then // 第一次呼叫时进行 subclassing
; ; begin
; ; ; bFirstCalled := False;
; ; end;
end;
其实const
; bFirstCalled: Boolean = True;
这个bFirstCalled是变量,这样声明的好处是可以直接初始化
在PASCAL里就已经有这个用法了
 
to yzhishi:局部变量无法初始时赋值。。
to xiao_min:同样的代码,我还是编译无法通过。d6...
 
我原来在D5里试的,是可以
到D6里试了一下,果然不行
我去查查怎么会这样
 
在变量定义前写上{$WRITEABLECONST ON}或{$J+},因D6默认不能常量赋值,而D5默认能。
;
 
我也查到了,但是不管用
 
HOHO,明白了,我开始是用在赋值的时候,那不行
原来是要在声明的时候
const
; ; ; {$J+}
; bFirstCalled: Boolean = True;
; ; ; {$J-}
 
嘻嘻,jiangxiancheng老大已经说了是定义的地方了
 
狼牙:老兄这个问题我早就问过了,你为什么不查一下?
http://www.delphibbs.com/delphibbs/dispq.asp?lid=690686
 
接受答案了.
 
后退
顶部