P[i]^= geht nicht, genau das selbe Problem (Array-Typ erforderlich) und T[i]= hab ich in dem Moment nicht, da der Procedure nur der Pointer übergeben wird.
Ich sollte dazu sagen, dass obiger Code wieder stark vereinfacht war. Mir geht es bei den Fragen hauptsächlich um das Funktionsprinzip, nicht darum die konkrete Routine umzubauen. Man will ja schließlich was dabei lernen
Das einzige was mir einfiele wäre ein @T:= P und nachfolgend dann T[I]. Der Compiler täts ja schlucken aber obs funktioniert? Schließlich wüßte Delphi in dem Moment nicht, wie lang das Array ist. Oder ist das auch nullterminiert wie Strings? Kann ich mir nicht vorstellen.