Delphi 7:框架上的对象不是';t(bug?)
我正在使用一个框架覆盖父窗体上的多个对象。该框架包含一个进度条、一个标签和一个按钮。激活帧时,仅渲染进度条。标签和按钮保持不可见。设置.enable+。在显示帧时代码中可见为true也不起作用。我可以在IDE中很好地看到对象。它们只在运行时消失 我在这篇文章中读到,Delphi 7中似乎有一个bug可能导致这种行为,但我不确定: 是否有让Delphi渲染所有帧对象的解决方法 更新:帧的dfm代码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
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代码更新了描述。谢谢!我没想到!同样的问题也出现了,原因我在下面解释。