Ich schreibe mal, wei ich das jetzt verstanden habe
Delphi-Quellcode:
type
TBaseClass = class(TObject);
.
.
end;
TDerived = class(TBaseClass);
.
.
end;
TMyArray = array of TBaseClass;
end;
.
.
procedure Foo(var v: TMyArray);
begin
.
.
end;
var
arr: TMyArray;
begin
SetLength(arr, 1);
arr[0] := TDerived.Create;
Foo(arr);
end;
So ginge das. Allerdings hat das weniger mit Arrays an sich zu tun, als viel mehr mit
OOP. Das hat auch zur Folge, dass du über "arr" nur die Felder der Klassen erreichst, die auch in TBaseClass deklariert sind. Ansonsten musst du casten: TDerived(arr[0]).FunktionInDerived;
Ich hoffe ich hab das jetzt richtig verstanden
Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel