Delphi doesn't require the parentheses when there are no parameters; I doubt this is possible.
It shouldn't matter in the interface or implementation, where the fact that it's a method declaration is clear.
function TMyClass.IsDefaultPropValue: Boolean;
I can see where it would matter in actual code that calls the method, where you would want to clarify that it was not a variable, as in
// Unit MyClass
type
TMyClass=class(TSomething)
public
function IsDefaultPropValue: Boolean;
end;
// In a far distant block of code in another unit that uses the above unit, using the
// nasty "with" (not you, of course - one of your coworkers):
with MyClassInstance do
begin
// More lines of code. FirstPass is a local boolean variable.
if FirstPass then
begin
if IsDefaultPropValue then
begin
// More lines of code
end
else
begin
// Alternate branch of code
end;
end
else
begin
if IsDefaultPropValue then
//.....
end;
end;
In this case, it's not clear that IsDefaultPropValue
is a function and not a Boolean variable and I'd use it as
if IsDefaultPropertyValue() then ...
// or better yet:
if MyClassInstance.IsDefaultPropValue() then ...
to make it clear.