在我的 Delphi 应用程序中,当我执行 TOpenDialog 时,它​​会在显示对话框之前加载很多模块。
这可能需要一段时间。(2-3 秒)。
第二次和其他时间,它要快得多。

有没有办法在启动应用程序时预加载这些模块?

最佳答案

问题不在于模块需要很长时间才能加载。问题是 Delphi 调试器检测每个新模块加载以在输出窗口中报告它。

您在第一次显示文件对话框时观察到的缓慢是在 IDE 调试器下运行的产物。如果你在没有调试器的情况下运行你的程序,那么文件对话框的初始加载时间会大大减少。

虽然您可以跟踪正在加载的模块的名称,并在进程开始时强制加载它们,但我绝对建议您不要这样做。加载的模块可能因系统而异,因此如果您尝试这样做,很可能会导致您创建的软件版本无法启动。即使您仅针对您的私有(private)调试版本执行此操作,您也可以保证每次调试程序时加载时间都会变慢。

关于windows - 德尔福 : how to preload modules loaded by TOpenDialog?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53777170/

10-13 08:27