{$modeswitch typehelpers}
type
{ TMyBooleanHelper }
TMyBooleanHelper = type helper(TBooleanHelper) for Boolean
function ToBoolStr: String;
end;
implementation
{ TMyBooleanHelper }
function TMyBooleanHelper.ToBoolStr: String;
begin
Result:=Self.ToString(TUseBoolStrs.True);
end;
....
var B:Boolean;
begin
B:=True;
Caption:=B.ToBoolStr+False.ToBoolStr;
end;
PascalDragon hat geschrieben: So 27. Nov 2022, 22:46
Du könntest deine ToBoolStr Methode noch mit inline markieren, dann wird der Compiler den zusätzlichen Aufruf wegoptimieren.
Danke!
Ausserdem wäre es so eigentlich noch direkter:
TMyBooleanHelper = type helper(TBooleanHelper) for Boolean
function ToBoolStr: String; inline;
end;
...
function TMyBooleanHelper.ToBoolStr: String;
begin
Result:=BoolToStr(Self,True);
end;