Ich habe folgenden Code der unter 10.0 Seattle bestens funktioniert hat, unter 10.4 Sydney allerdings streikt:
Delphi-Quellcode:
program Project1;
type
TSomeClass<T: record> = class abstract(TObject)
//
end;
TSomeRecord = record
someValueType: Byte;
//someManagedType: IInterface;
end;
TRecordClass = class abstract(TSomeClass<TSomeRecord>)
//
end;
begin
//
end.
Wenn
TSomeRecord
nun ein Feld vom Typ
IInterface
enthält dann streikt 10.4.
Bemängelt wird die Zeile
TRecordClass = class abstract(TSomeClass<TSomeRecord>)
mit dem Hinweis
Zitat:
[dcc32 Error] Project1.dpr(16): E2512 Type parameter 'T' must be a non-nullable value type
Ich verstehe das nicht. Was genau ist sein Problem?