我试图在运行时添加TadvTabSet我有一个错误

时间:2014-01-02 16:13:18

标签: delphi runtime delphi-xe2 add

在这段代码中,我试图在运行时添加TadvTabSet我遇到了错误:

  

Projet4.exe模块中地址00DC0FB0的访问冲突。读取地址00000258.

导致它的代码:

with tset.AdvTabs.Add do
begin
  tag:=strtoint(en_vente.Text);
  name:='tab'+inttostr(tset.AdvTabs.count);
  caption:=enom.Text; 
end;

我看不出任何有问题的东西。有人可以帮忙找出原因吗?

2 个答案:

答案 0 :(得分:0)

例如,使用TPageControl,您需要先创建一个选项卡,然后添加到它... 也许在这里是一样的......

myTab:= TTabSheet.Create(YourPageControlAsOwner); 
myTab.name:= ... 
myTab.caption:=... 
//and the asociated events you need after create 
myTab.onClick:= YourOwnMethod...

答案 1 :(得分:0)

这是我通常使用的一个示例,除了这个答案,删除了在TAdvOfficePage上创建组件的代码。不要忘记为添加到TAdvOfficePage的组件添加任何事件。

procedure TForm1.AddOfficePage;
begin
  AdvOfficePage := TAdvOfficePage.Create(AdvOfficePager1);
  AdvOfficePage.Parent := AdvOfficePager1;
  AdvOfficePage.AdvOfficePager := AdvOfficePager1;
  AdvOfficePager1.AddAdvPage(AdvOfficePage);
  AdvOfficePager1.ActivePage := AdvOfficePage;
  {Add components next}
end;

哎呀...我现在看到你想要一个TTabCollectionItem添加到TAdvTabSet。

procedure TForm1.AddTabCollectionItem;
{ Add a TTabCollectionItem to TAdvTabSet. }
var
  i: Integer;
begin
  for i := 0 to 9 do
  begin
    ATabCollectionItem := AdvTabSet1.AdvTabs.Add;
    ATabCollectionItem.Caption := 'Tab Collection Item ' + IntToStr(i);
  end;
end;