System.Math unit contains Infinity
constant to represent IEEE754 Inf pseudovalue(1.0/0.0). There are also a lot of MaxDouble, MaxExtended etc constants in this unit (look at Variables section here). This short test works as needed, so I suspect your component may have some kind of range checking or have property editor that don't understand unknown identificators.
TTest = class(TComponent)
private
FValue: Double;
procedure SetValue(const Value: Double);
public
property Value: Double read FValue write SetValue;
end;
procedure TForm1.Button26Click(Sender: TObject);
begin
with TTest.Create(Self) do try
Value := Infinity;
Caption := FloatToStr(Value);
finally
Free;
end;
end;
P.S. Do you need to use Infinity as field value, or just to ensure that field value > -1E300?
P.P.S. Why you are still using INF, not Infinity? BTW, I've found one component with float published property - Object Inspector don't understand Infinity - so property editor is not designed for these purposes, as I've already supposed, but I can assign Infinity in code.