Вверх ↑
Ответов: 4628
Рейтинг: 749
#1: 2012-05-06 20:36:03 ЛС | профиль | цитата
sаmakacd, массив FTCG в direct.inc представляется типом TScArray:


#pas
TScArray = record
Items:array of PScData;
Count:integer;
end;
Каждый из элементов Items тоже может быть массивом. Так реализуются многомерные массивы (более напоминает "дерево", а не "матрицу").

Если в direct.inc добавить свой метод, который должен обработать массив, можно делать так:

#pas
function lng_proc(parser:TParser; obj:pointer; index:integer; args:TArgs):TScData;
var i:integer; arg1:PScData; arr: PScArray;
begin
case lng_indexer(index) of

.......

lng_ArrayTestMethod:
begin
arg1 := args.Values[0];
if arg1.GetType = data_array then
begin
arr := arg1.toArray;
for i := 0 to arr.Count-1 do
begin
//arr.Items[i] - содержит элемент массива типа PScData
end;
end;
end;

.......

end;
end;

Ну и ещё нужно разбираться, как вернуть результат в виде массива...
карма: 26

0