gpt4 book ai didi

delphi - 如何引用 "with"语句中创建的对象?

转载 作者:行者123 更新时间:2023-12-02 17:35:32 25 4
gpt4 key购买 nike

我正在运行时创建嵌套组件。如何在 with 中分配子组件的 Parent 属性?

with Tspanel.Create(categorypanel) do
begin
parent:=categorypanel; // categorypanel, is a declared variable
height:=30;
visible:=true;

button1 := tsbutton.Create();
// Here is my problem! I want the parent to be the
// panel I've created with the "with tspanel.create(...)"
button1.Parent := ...
end;

我的目标是不为每个组件声明变量。

最佳答案

您无法使用 with 语句执行您想要的操作。无法命名作为 with 语句主题的对象。

改用局部变量。例如:

var
Panel1: TPanel
Button1: TButton;
....
Panel1 := TPanel.Create(Form1);
Panel1.Parent := Form1;
Button1 := TButton.Create(Panel1);
Button1.Parent := Panel1;

作为一个额外的好处,您可以删除这些对任何代码都会造成范围限制的 with 语句。

关于delphi - 如何引用 "with"语句中创建的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16986015/

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