是否可以对一个例程有2个引用,即以某种方式组合这些:
procedure SetUpGrid(AGrid: TStringGrid);
procedure SetUpGrid(AGrid: TJVStringGrid);
procedure SetUpGrid(AGrid: ??);
Begin
...
将有两个过程,但是这个过程是相同且冗长的,只需要对其他过程使用不同的网格即可。
最佳答案
我怀疑来自Jedi VCL。在这种情况下,它是TJvStringGrid
的后代,它是TJvExStringGrid
的直接后代,您无需做任何特别的事情,因为一个类(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/