Versuch mal so. Funktioniert bei mir wie gewünscht
Booleans sind, wenn sie vorher nicht initialisiert werden, immer auf True. Jedenfalls bei MIR unter 10.3.3.
Delphi-Quellcode:
function test: TTest_Result;
begin
Result.Test_a := True;
Result.Test_b := False;
Result.Test_c := True;
end;
// was du in der Funktion test am Ende machst, bleibt dir überlassen
procedure TForm1.Button2Click(Sender: TObject);
var
X: TTest_Result;
begin
X := test;
showmessage(
BoolToStr(X.Test_a, True)+sLineBreak+
BoolToStr(X.Test_b, True)+sLineBreak+
BoolToStr(X.Test_c, True)
);
end;