perché ragionava in C .
Alloco memoria in un buffer, che è poi un puntatore ad un char e passo questo buffer alla funzione che legge i dati dal file (nella mia mente devo passare il puntatore), e scrivevo quindi

r := FileRead(H, buf, size);

in realtà va scritta come

r := FileRead(H, buf^, size);
dereferenziando buf.

Quello che non capisco è perché devo mettere buf^ anziché buf ,
tutto qui
ciao
sergio