Вверх ↑
Ответов: 4612
Рейтинг: 746
#1: 2013-05-21 12:29:10 ЛС | профиль | цитата
Объявление массивов:

#pas
type
TRealArray = array [0..20] of real; // Объявление типов. Должно быть в каждом юните.
TIntArray = array[0..20] of integer;

var // Объявление переменных - там где нужно.
FreqKoeff, FreqKoeff1 : TRealArray;
VolKoeff ,VolKoeff1: TRealArray;
Us,Us1: TRealArray;
rdf,rdf1 : TIntArray;
rd1,rd2 : TIntArray;
Выдача на нижние точки:
dtInteger(_Data, Integer(@FreqKoeff));
// dtInteger(_Data, Integer(@VolKoeff));
// и т.д.

Чтение в другом юните:

#pas
type
TRealArray = array [0..20] of real; // Объявление типов. Должно быть в каждом юните.
TIntArray = array[0..20] of integer;

.......

procedure THiAsmClass.doWork(var _Data:TData; index:word);
var A: TIntArray;
i: Integer;
begin

i := ReadInteger(_Data, Val1, 0); // Val1 - верхняя точка. Нужно соблюдать, массив какого типа на неё подаётся.
if i <> 0 then
begin
A := TIntArray(Pointer(i)^); // В данном случае предполагается, что на верхней точке массив типа TIntArray
// Если там что-то другое - будет Runtime error.
for i := Low(A) to High(A) do
_debug(A[i]);
end;

end;



карма: 26

0