Вниз
Скачать: 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.014 c
3-27303
mfender
2003-09-20 22:49
2003.10.09
Откуда AccessViolation?


1-27543
Nastya
2003-09-30 16:18
2003.10.09
Как поставить полосу прокрутки TScrollBox-а в верхнее положение?


1-27571
sagchat
2003-09-29 14:10
2003.10.09
Где найти инфу по Randomize


3-27325
ruslan_as
2003-09-20 09:57
2003.10.09
Обнуление генератора в InterBase


3-27412
ZoKr
2003-09-18 05:30
2003.10.09
MaskEdit




   Наверх