It is perfectly possible (and the entry point will be the same for object and record.)
The correct syntax however is to declare a record inside the object, like:
program program1;
{$ifdef fpc}{$mode delphi}{$H+}{$endif}
type
foo = object
bar:record
case EyeColor: (Red, Green, Blue, Brown) of
Red, Green : (WearsGlasses: Boolean);
Blue, Brown: (LengthOfLashes: Integer);
end;
end;
begin
end.
The record can subsequently contain variant parts if required as you see here.
Contrived example, any use for it?
(Parts of it are from the GNU Pascal manual...)