In principle what you describe is reasonable. Here's an example in Python that implements your idea:
Fs = 44100
T = 100
t = np.arange(0, T, 1/Fs)
N = 1024
t = t[:N*int(len(t)/N)]
f = 0.7*t*t+2000
signal = np.sin(2*np.pi*f*t) # generate some signal for our analysis
chunks = signal.reshape((-1, N)) # create chunks of the signal of length N
C = np.fft.fft(chunks, axis=1) # perform FFT of each chunk
C = C[:, :N//2] # keep only positive frequencies
Spec = 10*np.log10(abs(C*C)) # draw the spectrum
plt.imshow(Spec.T);

I can only recommend to try out your DSP algorithms not in Delphi but in some scripting language like Python or Matlab, because you are much more flexible in your analysis and can try out new ideas much more quickly.
To improve the spectrum image, you can use a different window function (i.e. no rectangular window as I use here) and overlap the different chunks. Then, it would be closer to the short-time Fourier transform as noted by MBaz.