me he encontrado con el mismo problema, en mi caso al definir MyFile= file of String.
el problema viene siendo el mismo, los archivos (file) necesitan finalizacion.
se me ha ocurrido una solucion para guardar este tipo de datos siempre que los datos puedan ser interpretados como una cadena de caracteres (String o AnsiString) usando la propiedad de TStringList.SaveToFile y el formato de archivo '.csv' (datos separados por comas), se puede hacer algo asi:
Código SQL
[-]
Procedure PassarArchivo(Arreglo: Array of Array of Integer; Alto, Ancho: Integer);
Var
i,j: integer;
Fila: String; // o AnsiString si se necesita mas espacio, aunque todo tiene un limite;
Tabla: TStringList;
Begin
Tabla:=TStringList.Create;
For i:=0 to Alto do
begin
Fila:= ''; // Vaciar Fila
For j:=0 to Ancho do
Fila:= Fila+IntToStr(Arreglo[i,j])+';'; // no olvidarse del ';' que separa los valores
Tabla.add(Filla) // usando la funcion add, no hace falta definir la magnitud
end;
Tabla.SaveToFile('direccion\nombreArchivo.csv');
Tabla.Destroy; //libera la memoria
end;
**El formato de archivo *.csv tiene la ventaja de poder-se abrir desde Excel.
Desgraciadamente esta solucion no sirve en mi caso porque los datos que quiero guardar son mas complejos, asi que sigan pensando en otra solucion. gracias