【问题标题】:I am trying to add TadvTabSet in runtime I have got an error我正在尝试在运行时添加 TadvTabSet 我有一个错误
【发布时间】:2014-01-02 16:13:17
【问题描述】:

在这段代码中,我尝试在运行时添加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;

我看不出有什么问题。有人可以帮忙找出原因吗?

【问题讨论】:

  • 如果您说“遇到错误”,接下来您要做的就是告诉我们错误是什么,包括确切的错误消息乙>。你面前有这些信息,而我们没有——你绝对没有理由不提供它。如果您希望我们为您提供帮助,请向我们提供信息我们可以用来帮助您。
  • 错误信息是法语,因为我有一个 Delphi 版本,所以我想给你一个翻译:
  • 模块 Projet4.exe 中地址 00DC0FB0 的访问冲突。读取地址 00000258。
  • 低地址(00000258)通常表示访问尚未创建的对象。首先,去掉with;声明一个正确类型的变量,然后使用它:NewTab := tset.AdvTabs.Add; NewTab.Tag := ... 等等。然后在NewTab := 行设置断点并单步执行您的代码,并找出导致错误的行。
  • TSET 是什么类型,显示声明及其创建位置。使用前检查tset <> nil。之后对 tset.AdvTabs 执行相同的操作:向我们展示tset.AdvTabs 属性的数据类型声明,并在使用之前检查tset.AdvTabs <> nil。还要检查Self <> nil

标签: delphi runtime delphi-xe2 add


【解决方案1】:

这是我通常使用的一个示例,除了这个答案,在 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;

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 谢谢,我已经找到了解决方案,这是我所知道的最好的网站。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多