gpt4 book ai didi

delphi - 引用具有不同变量的例程

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

是否可以对单个例程有 2 个引用,即以某种方式将它们组合起来:

procedure SetUpGrid(AGrid: TStringGrid);
procedure SetUpGrid(AGrid: TJVStringGrid);


procedure SetUpGrid(AGrid: ??);
Begin
...

将有两个过程,但这个过程是相同且冗长的,只需要对其他过程使用不同的网格。

最佳答案

我怀疑 TJvStringGrid 来自 Jedi VCL。在这种情况下,它是 TJvExStringGrid 的后代,而 TJvExStringGrid 又是 TStringGrid 的直接后代,并且您无需执行任何特殊操作,因为一个类 (TJvStringGrid) 是另一个类的派生类(TStringGrid)。

您可以使用最常见的类来声明您的过程,在本例中为 TStringGrid:

procedure SetUpGrid(AGrid: TStringGrid);

并向其传递一个 TJvStringGrid 实例。

例如:

procedure SetUpGrid(AGrid: TStringGrid);
begin
// Whatever your code does to set up the grid.
end;

procedure TForm1.SomeGridToSetup;
var
ASimpleTStringGrid: TStringGrid;
AJediVclStringGrid: TJvStringGrid;
begin
ASimpleTStringGrid := TStringGrid.Create(Self);
AJediVclStringGrid := TJvStringGrid.Create(Self);

SetUpGrid(ASimpleTStringGrid);
SetUpGrid(AJediVclStringGrid);
end;

关于delphi - 引用具有不同变量的例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717554/

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