Вниз
Скачать: 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.024 c
4-27793
DelphiNew
2003-08-04 10:49
2003.10.09
Убийство процессов


8-27621
SkyRanger
2003-06-11 13:57
2003.10.09
караоке...


1-27600
tos
2003-09-28 17:20
2003.10.09
glscene


14-27719
Knight
2003-09-19 12:41
2003.10.09
Как окупить затраты на web-проект?


9-27293
[Baradoo]
2003-03-15 22:14
2003.10.09
Экспорт из 3d Max




   Наверх