function XXX : TMyClass;
begin
Result := TMyClass.Create;
end;
А вообще вот это работает:
TMyObject1 = object
constructor create(AValue : Integer);
procedure hello;
private
FValue : Integer;
end;
TMyClass = class
procedure Hello;
end;
...
{ TMyObject1 }
constructor TMyObject1.create(AValue : Integer);
begin
FValue := AValue;
end;
procedure TMyObject1.hello;
begin
showMessage ('Hello from object' + inttostr(FValue));
end;
{ TMyClass }
procedure TMyClass.Hello;
begin
ShowMessage ('hello from class');
end;
procedure TForm1.Button1Click(Sender: TObject);
function XXX_1 : TMyObject1;
var p : TMyObject1;
begin
p.create(100);
Result := p;
end;
function XXX_2 : TMyClass;
begin
Result := TMyClass.Create;
end;
var pp : TMyObject1;
begin