procedure TForm1.Button1Click(Sender: TObject);
{$J+}
const
I: Integer = 0;
{$J-}
begin
Inc(I);
Caption := IntToStr(I);
end;
{$J+}
const
I: Integer = 0;
{$J-}
begin
Inc(I);
Caption := IntToStr(I);
end;
Delphi不能设静态变量.分数应该给我!修改const与static型变量是两回事情,所答非所问!const是常量!!!!它们的原理也完全不同.在实际编程中设置Form变量,或全局变量吧,名称复杂一点不要与别的重复就行了。静态变量也是常占内存的。
{$J+}
const
I: Integer = 0;
{$J-}
begin
Inc(I);
Caption := IntToStr(I);
end;
{$J+}
const
I: Integer = 0;
{$J-}
begin
Inc(I);
Result := I;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := IntToStr(f);
end;
警告 :在32位Delphi中的常量的类型定义是于16位Delphi中常量的类型定义不同的。在16位的Delphi 1.0中,这种指定了类型的常量不是当作常量,而是被当作赋出值的变量或类型常量(typed constand);然而,在Delphi 2.0以后指定了类型的常量才真正被当作是常量。Delphi在Project菜单的Options对话框中的Compiler页上提供了向后兼容;或者可以用$J开关来控制,缺省情况下,该开关是开的,向后兼容Delphi1.0,但是最好不要用这个方法,因为Object Pascal以后可能不再支持它。 所以,用private或public比较好,一般private就够了
或全局变量不能起静态变量的作用吗?
值不会重新赋要注意不要在别的模块中改它的值就行了。
我们一直就是这么用的。
用那个const是会出问题的。Delphi就是没有静态变量!!!