请高手指点在Delphi中如何使用指针。

LJN 2000-08-01 11:51:00
以下是我的代码,运行时报错,请帮我看看。

ActiveTab : ^TTabSheet;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
ActiveTab := nil;

ActiveTab^ := PageControl1.ActivePage; // throw error here.
ActiveTab^.TabVisible := FALSE;
end;
...全文
143 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Larky 2000-08-03
  • 打赏
  • 举报
回复
ActiveTab 是一个空指针,所以不能引用他所指向的对象否则就会错,你可以这样做
With PageControl1 do
ActiveTab := @ActivePage;
然后你就可以对ActiveTab^进行操作了!
Larky 2000-08-03
  • 打赏
  • 举报
回复
出错的原因是ActiveTab是个指针,但是他的职位nil也就是说他没有指向任何的对象
所以ActiveTab^ 就是非法的当然会错,你如果想要将他指向PageControl1.ActivePage
可以这样用
with PageControl1 do
ActiveTab := @ActivePage;
Wingsun 2000-08-01
  • 打赏
  • 举报
回复
ActivePage不是一个指针,当然会错了。改成这样:
ActiveTab : TTabSheet;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
ActiveTab := PageControl1.ActivePage; // throw error here.
ActiveTab.TabVisible := FALSE;
end;
Wingsun 2000-08-01
  • 打赏
  • 举报
回复
ActivePage不是一个指针,当然会错了。改成这样:
ActiveTab : TTabSheet;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
ActiveTab := PageControl1.ActivePage; // throw error here.
ActiveTab.TabVisible := FALSE;
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧