UserData
can hold pointer to user’s object that can contain, for example, a list of TDADataTable or something else that can be useful for you.
back to your previous thread, it can be like
mylist := TList<TDAMemDatatable>.Create;
mylist.AddRange([table1,table2]);
RemoteDataAdapter.BeginFill(mycallback, mylist, [table1, table2]);
procedure TClientForm.mycallback(const aRequest: IROAsyncRequest);
var
mylist: TList<TDAMemDatatable>;
begin
if (not aRequest.Cancelled) then begin
RemoteDataAdapter.EndFill(aRequest);
mylist := TList<TDAMemDatatable>(aRequest.UserData);
try
ShowMessage( myList.Count.ToString + ' tables were loaded');
finally
mylist.Free;
end;
end
else
ShowMessage('Request was cancelled!');
end;