Delphi 7:框架上的对象不是';t(bug?)

Delphi 7:框架上的对象不是';t(bug?),delphi,object,label,frame,invisible,Delphi,Object,Label,Frame,Invisible,我正在使用一个框架覆盖父窗体上的多个对象。该框架包含一个进度条、一个标签和一个按钮。激活帧时,仅渲染进度条。标签和按钮保持不可见。设置.enable+。在显示帧时代码中可见为true也不起作用。我可以在IDE中很好地看到对象。它们只在运行时消失 我在这篇文章中读到,Delphi 7中似乎有一个bug可能导致这种行为,但我不确定: 是否有让Delphi渲染所有帧对象的解决方法 更新:帧的dfm代码 object Frame2: TFrame2 Left = 0 Top = 0 Wid

我正在使用一个框架覆盖父窗体上的多个对象。该框架包含一个进度条、一个标签和一个按钮。激活帧时,仅渲染进度条。标签和按钮保持不可见。设置.enable+。在显示帧时代码中可见为true也不起作用。我可以在IDE中很好地看到对象。它们只在运行时消失

我在这篇文章中读到,Delphi 7中似乎有一个bug可能导致这种行为,但我不确定:

是否有让Delphi渲染所有帧对象的解决方法

更新:帧的dfm代码

object Frame2: TFrame2
  Left = 0
  Top = 0
  Width = 528
  Height = 116
  TabOrder = 0
  object Label1: TLabel
    Left = 8
    Top = 8
    Width = 32
    Height = 13
    Caption = 'Label1'
  end
  object Button1: TButton
    Left = 8
    Top = 72
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
  end
  object ProgressBar1: TProgressBar
    Left = 8
    Top = 32
    Width = 473
    Height = 24
    TabOrder = 1
  end
end

试着把你的组件放到面板上。

好吧,我发现了错误,我很惭愧,因为这是一个非常明显的错误:

单击按钮后,将渲染帧,包括其所有对象,但是,单击也会初始化CPU密集型函数。因为这是早期的代码,我还没有实现线程,所以函数冻结了gui呈现,从而阻止了一些对象的出现。当我注释掉函数时,这是“修复的”。我还被这样一个事实吓坏了,框架上的进度条不仅出现了,而且还在不断更新,尽管CPU使用率很高


再次感谢所有回复您的人。

您能在此转储帧的*.dfm文件吗?我用框架(而不是表单)编写了多个D7应用程序,但从来没有遇到过这个问题……按钮是TSpeedButton还是从Tgraphic控件派生出来的东西?您使用框架来覆盖其他控件?但是你说你激活了框架-这是什么意思?然后你说你显示了框架,但是既然框架覆盖了其他组件,为什么显示框架会让控件消失呢?他们被掩护住了!你在要求一个变通办法。当你尝试你提供的链接中列出的解决方法时发生了什么?@Dorin:我用dfm代码更新了描述。谢谢!我没想到!同样的问题也出现了,原因我在下面解释。