gpt4 book ai didi

Delphi : in CreateForm, 如何判断哪个组件创建速度慢

转载 作者:行者123 更新时间:2023-12-03 15:53:56 34 4
gpt4 key购买 nike

在我的程序中,主窗体的创建速度很慢:我发现它在调用窗体的 OnCreate 事件之前挂起大约两秒钟。所以我怀疑这是在创建组件时发生的。

由于此表单有多个框架,我想知道是否有一种方法可以“分析”组件的创建,以便了解我可以改进的地方。我怀疑延迟来自于打开当时不应该打开的数据库表(而是稍后,在进行了一些过滤之后)。

如果有办法在每个组件创建之前/之后触发事件,我可以自己进行分析(例如使用代码站点)。

或者也许可以手动创建组件?

最佳答案

这是一种快速但肮脏的方法来确定延迟在哪里:

  • 获取 Classes 单元源代码的副本,并将其放入项目的源文件夹中。这将确保该单元被编译到您的程序中,而不是 Delphi 提供的程序中。
  • 修改TComponent构造函数中的代码。所有流式组件在创建期间都会经过这里。添加代码来记录类名,例如例如使用 CodeSite。
  • 运行您的程序,然后检查生成的日志以确定延迟。

如果您有很多组件,那么仅了解类可能无法缩小范围。您可以将日志记录代码注入(inject)到 TComponent.SetName 中,这样您就可以记录组件的名称。然而,基本思想很简单,您应该能够将其应用到您的设置中,以便找到您需要的信息。

关于Delphi : in CreateForm, 如何判断哪个组件创建速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38898821/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com