Hola microbiano.
Es cierto no tiene que incluir el mes inicial.
Se soluciona con un simple cambio:
Código Delphi
[-]
function MesesANombres(D1, D2: TDate): TStrings;
var
i, m, Tot: Integer;
begin
Result:= TStringList.Create;
Tot:= MonthsBetween(D1, D2);
m:= MonthOf(D1); for i:= MonthOf(D1) to Tot + MonthOf(D1) -1 do
begin
if m = 12 then
m:= 1
else
Inc(m);
Result.Add(LongMonthNames[m])
end;
end;
Un saludo.