Delphi : 如何预加载TOpenDialog加载的模块?

Delphi : how to preload modules loaded by TOpenDialog?

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

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

问题不在于模块加载时间过长。问题是 Delphi 调试器检测每个新模块加载以在输出 window 中报告它。

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

虽然您可以追踪正在加载的模块的名称,并在进程启动时强制加载它们,但我绝对建议您不要这样做。加载的模块可能因系统而异,因此如果您尝试这样做,完全有可能导致您创建无法启动的软件版本。即使你这样做只是为了你的私人调试版本,你也将保证每次调试程序时你的加载时间都会变慢。