Вниз
Скачать: CL | DM;

Помогите с PSafeArray   Найти похожие ветки 

 
DeMoN_Astra   (2003-09-29 11:44) [0]

Как из <paParams> вытянуть значения параметров, передаваемых в функцию?
Function LALA(paParams: PSafeArray{(OleVariant)}): HResult;
А то чего-то я уже не понимаю наверное...


 
Nikolay M. ©   (2003-09-29 12:10) [1]

А как формируется массив?
У меня формируется так:

procedure TrdmRemoteMain.GetLoggedOnUsers(out LoggedOnUsers: OleVariant);
var
i : integer;
begin
LoggedOnUsers := VarArrayCreate([0, Count - 1], varVariant);
for i := 0 to Count - 1 do
with TUserInfo(Items[i]) do
LoggedOnUsers[i] := VarArrayOf ([UserID, UserFirstName, UserFamilyName, ProjectName, LogonTime]);
end;

Обрабатывается потом так:
AServer := IrdmRemoteMainDisp(dmMain.scSocketConnection.GetServer);
AServer.GetLoggedOnUsers (LoggedOnUsers);
for i := VarArrayLowBound (LoggedOnUsers, 1) to VarArrayHighBound (LoggedOnUsers, 1) do
begin
sgLoggedonUsers.Cells[0, i - VarArrayLowBound (LoggedOnUsers, 1) + 1] := VarToStr (LoggedOnUsers[i][1]);
sgLoggedonUsers.Cells[1, i - VarArrayLowBound (LoggedOnUsers, 1) + 1] := VarToStr (LoggedOnUsers[i][2]);
sgLoggedonUsers.Cells[2, i - VarArrayLowBound (LoggedOnUsers, 1) + 1] := VarToStr (LoggedOnUsers[i][3]);
sgLoggedonUsers.Cells[3, i - VarArrayLowBound (LoggedOnUsers, 1) + 1] := VarToStr (LoggedOnUsers[i][4]);
end;

Сори, что поленился, выдрал as is.


 
DeMoN_Astra   (2003-09-29 15:57) [2]

в том и дело - формирую его не я... а у <PSafeArray> структура, мне не понятная! но в массиве - набор параметров.. а сам <PSafeArray> описан в ActiveX.pas .. помогите ;)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-27665
MBo
2003-09-22 17:03
2003.10.09
Отчет о MS Developers Day в Новосибирске


1-27526
Kair
2003-09-25 08:16
2003.10.09
Изменения на диске


14-27676
Zhouck
2003-09-18 11:24
2003.10.09
ГИС , Делфи , Оракл


14-27680
k_len
2003-09-22 13:01
2003.10.09
mapobject


3-27326
Vemer
2003-09-21 11:25
2003.10.09
(Не)Подстановка Default значений в IBase.




   Наверх