Вниз
Скачать: 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.013 c
1-27425
Санёк
2003-09-30 16:49
2003.10.09
Приветствую МАСТЕРОВ!


3-27383
voodoo
2003-09-21 13:30
2003.10.09
Число записей


4-27775
LOX
2003-08-02 17:47
2003.10.09
Уничтожение формы


1-27513
Pushkin
2003-09-26 13:34
2003.10.09
Как в StringGrid сделать проверку данных в ячейке?


3-27382
Smashich
2003-09-18 20:10
2003.10.09
EVENT & MS SQL




   Наверх