gpt4 book ai didi

delphi - 来自 DLL 的 Application.handle

转载 作者:行者123 更新时间:2023-12-02 04:05:00 24 4
gpt4 key购买 nike

德尔福。如何从DLL中学习处理导致该DLL的附录?

这是必要的:了解Handle附录,我希望在Dll中在创建对话框时使用这个Handle,因为以TOpendialog.Create(nil)创建的对话框有时会出现在基本窗体的主窗口下。因此,在 DLL 中我会创建:

application.handle:=GetExeHandle; // GetExeHandle - How to learn?
Opendialog1:=TOpendialog.Create(application);
...

那么它是正确的吗?

最佳答案

DLL 显示对话框的唯一时间是主机应用程序从 DLL 调用函数时。将父窗口句柄作为函数的输入参数之一,以便 EXE 可以告诉您要使用哪个句柄。请勿尝试自行发现 handle 。作为库开发人员,您无法猜测主机应用程序正在做什么。

如果您不想在每个函数调用中都包含句柄,则添加 DLL 用户需要在任何其他函数之前调用的初始化函数。在初始化中传递句柄,然后将其存储在 DLL 中的变量中,以便其他函数在需要时可以使用该值。

关于delphi - 来自 DLL 的 Application.handle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6326541/

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