My understanding is that what you do array of Single
the compiler effectively creates a type for it (hidden). So you have two different types, which are not compatible (even though they are defined the same).
Try creating a type:
type
TMySingleArray : array of Single;
And then use that instead (of array of Single
) as the compiler will treat them being the same type (instead of two separate types with the same definition).
Please note: Been jumping between Delphi and other languages, so I may have gotten the syntax incorrect. Apologies if this is the case.