ActivePage不是一个指针,当然会错了。改成这样:
ActiveTab : TTabSheet;procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
        ActiveTab := PageControl1.ActivePage; // throw error here.
        ActiveTab.TabVisible := FALSE;
end;

解决方案 »

  1.   

    ActivePage不是一个指针,当然会错了。改成这样:
    ActiveTab : TTabSheet;procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
            ActiveTab := PageControl1.ActivePage; // throw error here.
            ActiveTab.TabVisible := FALSE;
    end;
      

  2.   

    出错的原因是ActiveTab是个指针,但是他的职位nil也就是说他没有指向任何的对象
    所以ActiveTab^ 就是非法的当然会错,你如果想要将他指向PageControl1.ActivePage
    可以这样用
    with PageControl1 do
    ActiveTab := @ActivePage;
      

  3.   

    ActiveTab 是一个空指针,所以不能引用他所指向的对象否则就会错,你可以这样做
    With PageControl1 do
    ActiveTab := @ActivePage;
    然后你就可以对ActiveTab^进行操作了!