gpt4 book ai didi

delphi - 从框架代码中获取表单类

转载 作者:行者123 更新时间:2023-12-03 19:04:10 24 4
gpt4 key购买 nike

如何从框架代码中获取框架所有者表单的类类型,并将该类型转换为 TFormClass?
我知道我需要注册表单类,所以我可以用 GetClass ,但我卡住了。

最佳答案

主机窗体的类类型是这样获取的:

HostFormClassType := TFormClass(GetParentForm(Self).ClassType);

这里当我写 Self我把它当作你的框架。尽管您说的是“所有者”,但我怀疑您的真正意思是框架所在的形式。这通常与框架的所有者相同,但并非总是如此。

无需注册或调用 GetClass .

唯一的轻微皱纹是 GetParentForm可以返回源自 TCustomForm 的内容而不是 TForm .所以上面代码中的转换有可能是不正确的。您可以通过包含运行时测试来解决这个问题。
var
ClassType: TClass;
....
ClassType := GetParentForm(Self).ClassType;
Assert(ClassType.InheritsFrom(TForm));
HostFormClassType := TFormClass(ClassType);

关于delphi - 从框架代码中获取表单类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15523058/

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