Вверх ↑
Ответов: 3889
Рейтинг: 362
#1: 2012-01-05 16:56:51 ЛС | профиль | цитата
Михаил, судя по всему, донор массива может содержать процедуру вида _var_Array, выдающую указатель на структуру со ссылками на процедуры обработки массива (PArray) через dtArray(_Data,экземпляр_PArray). Ещё две процедуры и две функции, обрабатывающие логику массива, должны быть в Вашем коде или его родительском юните, если, например, Ваш код - наследник TArray. Инициализация структуры и получение указателя на неё идёт через лежащую в Share.pas CreateArray, принимающую ссылки на процедуры и выдающую на выходе PArray (указатель на структуру TXArray):
CreateArray(_Set:TArrSet; _Get:TArrGet; _Count:TArrCount; _Add:TArrAdd): PArray;

где

TArrSet = procedure(var Item:TData; var Val:TData) of object;
TArrGet = function(Var Item:TData; var Val:TData):boolean of object;
TArrCount = function:integer of object;
TArrAdd = procedure(var Val:TData) of object;
карма: 1

0