Hola fabricio.
El problema se presenta por que es muy improbable que hagas la toma de tiempo exáctamente en '7/06/1998 9:10:00 am'.
Normalmente obtenes un valor como '7/06/1998 9:10:00,15 am', mayor y por lo tanto no comprendido en los límites del período.
Si no te importa tanta exactitud podrías hacer:
Código Delphi
[-]
const
AJUSTE = 1000000;
var
PeriodoIni, PeriodoFin, Toma: TDateTime;
begin
PeriodoIni:= StrToDateTime('7/06/1998 9:10:00 am');
PeriodoFin:= StrToDateTime('7/06/1998 9:10:00 am');
PeriodoIni:= Trunc(PeriodoIni*AJUSTE)/AJUSTE; PeriodoFin:= Trunc(PeriodoFin*AJUSTE)/AJUSTE; Toma:= StrToDateTime('7/06/1998 9:10:00,47 am'); Toma:= Trunc(Toma*AJUSTE)/AJUSTE; if (Toma >= PeriodoIni) and (Toma <= PeriodoFin) then
ShowMessage('Comprendida en el período')
else
ShowMessage('No comprendida en el período');
end;
De este modo estarías evaluando sólamente horas, minutos y segundos.
Saludos.