Das funktioniert leider nicht so einfach - du musst immernoch sicher stellen, dass das Interface innerhalb des Records vor dem herausgeben initialisiert ist.
Delphi-Quellcode:
type
TQux = class
private
fFoo: TFoo;
public
property Foo: TFoo read fFoo;
end;
...
var
qux: TQux;
foo: TFoo;
begin
qux := TQux.Create;
foo := qux.Foo;
foo.Bar := 42;
Assert(qux.Foo.Bar = 42); // whoops!