procedure TForm1.Button1Click(Sender: TObject);
{$J+}
const
  I: Integer = 0;
{$J-}
begin
  Inc(I);
  Caption := IntToStr(I);
end;

解决方案 »

  1.   

    居然const可以这样用,不过为什么要编译选想呢?
      

  2.   

    你们的回答都是错的。
    Delphi不能设静态变量.分数应该给我!修改const与static型变量是两回事情,所答非所问!const是常量!!!!它们的原理也完全不同.在实际编程中设置Form变量,或全局变量吧,名称复杂一点不要与别的重复就行了。静态变量也是常占内存的。
      

  3.   

    我说的没错吧,我做Delphi编程已经三年了!
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    {$J+}
    const
      I: Integer = 0;
    {$J-}
    begin
      Inc(I);
      Caption := IntToStr(I);
    end;
      

  5.   

    function f: Integer;
    {$J+}
    const
      I: Integer = 0;
    {$J-}
    begin
      Inc(I);
      Result := I;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Caption := IntToStr(f);
    end;
      

  6.   

    全局不就行了有属于本PAS文件与工程文件之分
      

  7.   

    lkwyong(王勇)对DELPHI 的了解不深吗? 在{$J+}是可以用的,不过DELPHI 以后可能会不支持该功能,不过我认为还是哈是他说的方法好,你可以参看《DELPHI开发人员指南》P20
     
    警告 :在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就够了
      

  8.   

    难道Form内的变量
    或全局变量不能起静态变量的作用吗?
    值不会重新赋要注意不要在别的模块中改它的值就行了。
    我们一直就是这么用的。
    用那个const是会出问题的。Delphi就是没有静态变量!!!