Server
08-03-2007, 12:20
Прошу помощи, знающих людей. В памяти размещен динамически созданный массив типа array of array of single. В функцию размещенную в модуле Unit2.pas передается указатель на этот массив и его размеры.
Задача - переписать значения из этого массива в новый.
Проблема - невозможно присвоить адрес массива из Uni1.pas переменной Singles. Delphi ошибки не выдает, но не присваивает адрес
//Unti1.pas
LoadDataFromMem(@A,5,5);
//Unit2.pas
type
SingMas = array of array of single;
procedure LoadDataFromMem(ArrPoi: pointer; XSize, YSize: integer);
var
i, j: integer;
Singles: SingMas;
begin
Setlength(Singles, XSize, YSize);
Singles:=SingMas(ArrPoi);
Grid.RowCount:=XSize;
Grid.ColCount:=YSize;
for i:=0 to XSize-1 do
for j:=0 to YSize-1 do
Grid.Cells[i,j]:=FloatToStr(Singles[i,j]);
end;
В чем проблема? Подскажите.
Задача - переписать значения из этого массива в новый.
Проблема - невозможно присвоить адрес массива из Uni1.pas переменной Singles. Delphi ошибки не выдает, но не присваивает адрес
//Unti1.pas
LoadDataFromMem(@A,5,5);
//Unit2.pas
type
SingMas = array of array of single;
procedure LoadDataFromMem(ArrPoi: pointer; XSize, YSize: integer);
var
i, j: integer;
Singles: SingMas;
begin
Setlength(Singles, XSize, YSize);
Singles:=SingMas(ArrPoi);
Grid.RowCount:=XSize;
Grid.ColCount:=YSize;
for i:=0 to XSize-1 do
for j:=0 to YSize-1 do
Grid.Cells[i,j]:=FloatToStr(Singles[i,j]);
end;
В чем проблема? Подскажите.