Forum: Object-Pascal / Delphi-Language
Delphi
by RSE,
10. Aug 2012
var Arr: TArray<T> funktioniert, vielen Dank! Wieder etwas gelernt...
Edit: Ich kann kein a: array of Integer übergeben, sondern nur ein a: TArray<Integer>, aber das ist vertretbar, denn TArray ist definiert als: TArray<T> = array of T.
Edit2: Klappt super, außer mit TArray<Pointer> oder TArray<TMyRecordType>... Also etwas genauer:
type
TProcArray = TArray<Pointer>;
...
procedure...
Forum: Object-Pascal / Delphi-Language
Delphi
by RSE,
10. Aug 2012
Hallo,
wie kann ich ein offenes Array beliebigen Typs als Parameter übergeben, so dass es von SetLength akzeptiert wird?
Ich habe bereits folgendes probiert:
class procedure TArrays.Remove<T>(var Arr: array of T; Index: Integer);
begin
if Index < High(Arr) then
Move(Arr, Arr, SizeOf(Arr) * (High(Arr) - Index));
SetLength(Arr, Length(Arr) - 1); // Compiler-Fehlermeldung: "E2008...