bueno, en realidad el error es evidente, 26.000,30 NO es un float debido al punto de separación de miles.
lo que se me hace extraño es eso de dbedit... si esta en un dbedit ¿para qué la conversión - asignación?
de todas formas puedes eliminar todos esos separadores de miles facilmente:
Código Delphi
[-]
while Pos(ThousandSeparator,s)>0 do
delete(s,Pos(ThousandSeparator,s),1);
ThousandSeparator es una variable de Sysutils que coge los valores de configuración de separación de miles que tenga puesto el usuario.