так раскажу что у меня есть.
У меня есть сервер и клиент написанные на делфи. Общение между ними через DCOM.
Мне нужно получить Все записи таблицы и показать их в клиенте.
вот что я придумал
Записываю таблицу у вариант массив а потом это возвращаю клиенту а там уже все это розпаковываю и отображаю у виде таблицы.
На сервере
function TUserManager.GetAllUsers(out Users: OleVariant; out p,
k: Integer): HResult;
var
V:variant;
i,min,max:integer;
id1:integer;
pass1:WideString;
name1:WideString;
surName1:WideString;
pobat1:WideString;
nCount, nRec:integer;
begin
dm:=TDMServer.Create(nil);
dm.SQLconnect.open;
dm.GetUser.Open;
nRec := dm.GetUser.RecNo;
dm.GetUser.DisableControls;
dm.GetUser.Last;
nCount := dm.GetUser.RecNo;
dm.GetUser.RecNo := nRec;
dm.GetUser.EnableControls;
Min:=0;
Max:=nCount;
///////////////// ВОТ ТУТ Я СОХРАНЯЮ ДАННЫЕ В ВАРИАНТ МАССИВ
V:=VarArrayCreate([Min,Max],varVariant);
for i:=min to max-1 do
begin
id1:=dm.GetUser.Fields.Fields[0].AsVariant;
pass1:=dm.GetUser.Fields.Fields[1].AsVariant;
name1:=dm.GetUser.Fields.Fields[2].AsVariant;
surName1:=dm.GetUser.Fields.Fields[3].AsVariant;
pobat1:=dm.GetUser.Fields.Fields[4].AsVariant;
V[i]:=VarArrayOf([id1,pass1,name1,surname1,pobat1]);
dm.GetUser.Next;
end;
////////////////////////////////
Users:=V; //ВОЗВРАЩАЮ
p:=Max-2;
k:=5;
dm.SQLconnect.Close;
end;
А тепер вопрос:
Скажите пожалуйста, как это делают но нормальному, професионально.