Yo seguramente haria algo como:
Código:
function fechasValidas: Boolean;
var
f1,f2,f3,f4: TDateTime;
begin
f1:= StrToDateDef(fecha_creacion.text ,MaxDouble);
f2:= StrToDateDef(fecha_aprovacion.text ,MaxDouble);
f3:= StrToDateDef(fecha_emision_f_ant.text,MaxDouble);
f4:= StrToDateDef(fecha_emision_f.text ,MaxDouble);
Result:= (f1<=f2) and (f2<=f3) and (f3<=f4);
end;
Aunque se podria optimizar, creo que en este caso no valdria la pena ya
que el codigo quedaria mucho mas enrevesado, y salvo que haya que llamar
miles de veces por segundo a esa funcion, la velocidad de ejecucion sera suficiente.
Saludos