Ahora fíjate en este código:
Código Delphi
[-]
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DateUtils, swiss;
.............................
var
i, iflag: integer;
xx: array[0..5] of double;
planet: array [1..12] of double;
serr: PChar;
JulDay: double;
begin
swe_set_ephe_path(PCHAR('c:\sweph\ephe\'));
JulDay:= DateTimeToJulianDate(Date);
for i:= 1 to 12 do
begin
swe_calc_ut(Date, i, SE_ECL_NUT, xx[0], serr);
planet[i]:= xx[0];
end;
end;
El array es asignado correctamente, otra cosa es que los valores sean los experados.
Fíjate que arroja un error serr = 'SwissEph file 'seplm48.se1' not found in PATH 'c:\sweph\ephe\'' para todos los valores de i hasta para I=10.
Para i= 11 el error es 'SwissEph file 'semom48.se1' not found in PATH 'c:\sweph\ephe\'' y para i=12 no falla
Esto quiere decir que en ese path deben existir previamente esos archivos y probablemente alguno más.
Entonces la pregunta no es como rellenar un array, sino como manejar
swedll32.dll para conseguir el array que esperamos.
Saludos.