在这段代码中,我试图在运行时添加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;
我看不出任何有问题的东西。有人可以帮忙找出原因吗?
答案 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;