Hola.
No queda me queda muy claro el código, que indicas, de todas formas la lógica de lo que deseas hacer es algo tal que así??
Código:
if (Condicion1) and (Condicion2) then
begin
Showmessage('Fecha OK!!');
{NOTA: no puc canviar la data a la data actual}
// --> Pero la fecha es valida!!
// luego no hay que... DtData.Date:=DataSistema(Date);
end
else
begin
Showmessage('Error');
DtData.Date:=Date;
end;
end.
Has hecho la depuración paso a paso??, en que linea te salta el error??, que error??... la lógica de las condiciones es correcta??, and??, or??...