var
  Tag: Integer;
implementationprocedure Tjiagebiaoform.FormShow(Sender: TObject);
begin
  tag:=0;
end;
procedure Tjiagebiaoform.ToolButton10Click(Sender: TObject);
begin
  tag:=1;  //这条语句不能正确赋值
end;
编译可以过.
当我用watch 看时 有这个"viariable "self" inaccessable due to here optimization"
我不明白.

解决方案 »

  1.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      form1.tag:=1;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      button1.Tag:=2;
    end;//你在tag前加上对象名,这样的话编译器就不会出错了,否则的话编译器弄不清楚你要给哪一个对象的tag赋值
      

  2.   

    我觉的应该是这样的
    它默认的是Self,你这样的话,改变了它的Tag两次;
    编译、运行(单纯)肯定没有问题;
      

  3.   

    我的tag不是全局吗?
    怎么还要加这个?
      

  4.   

    不是全局不全局的问题,而是默认的为Self罢了