Примерно таким образом:
procedure THIMultiElementEx.EventHandle(var Data:TData; Index:word);
begin
dtInteger(Data,integer(EvHandle));
end;
procedure THIMultiElementEx.EventIndex(var Data:TData; Index:word);
begin
dtInteger(Data,FList.IndexOf(EvHandle));
end;
procedure THIEditMultiEx.onEvent;
var X:THIEditMultiEx;
begin
X := THIMultiElementEx(FParent).EvHandle;
THIMultiElementEx(FParent).EvHandle := self;
_hi_onEvent(THIMultiElementEx(FParent).Events[Index],Data);
THIMultiElementEx(FParent).EvHandle := X;
end;
procedure THIEditMultiEx._Data;
var X:THIEditMultiEx;
begin
X := THIMultiElementEx(FParent).EvHandle;
THIMultiElementEx(FParent).EvHandle := self;
_ReadData(Data,THIMultiElementEx(FParent).Datas[Index]);
THIMultiElementEx(FParent).EvHandle := X;
end;