Typparameter funktionieren offenbar nicht in anonymen Subrecords und Du kannst gern dafür einen
QC Eintrag anlegen. Im Delphi.NET, welches immer für einen Vergleich gut ist, funktioniert dies auch nicht.
Zitat:
So wie es aussieht will er hier die Prozedur Str erkannt haben.
Wie um himmels Willen kommt der Compiler darauf?
Str ist eine eingebaute Prozedur und ein anderes Verhalten im Vergleich zu normalen (im Quelltext definierten) Prozeduren wundert mich daher nicht. Die Verwendung einer normale Prozedur führt korrekterweise zum Fehler E2007.
Ändere am besten den Code nach
Delphi-Quellcode:
TReplacer<T> = record
private
type
TData = array [-1..255] of record
Pos, Len: Integer;
S: T;
end;
var
_Data: TData;
_Count: Integer;
_S: ^T;
end;
Ich denke das war's was Du mit
Zitat:
Und ja, ich werde jetzt den Record noch in einen weiteren generischen Typen verfrachten und hoffen es geht dann, aber muß denn immer alles so umständlich sein?
meinst? Oder etwa nicht?