• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

метод GrantRightsForObjects

Автор chip, 10.06.15, 09:43:42

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

chip

Может кто-нибудь привести пример использования метода GrantRightsForObjects в Delphi?
Попробовал таким образом:
procedure TDM1.AddRight(ArrVariant : TArrVar);
var
  Arr : Array of Array of VAriant;
  Arr2 : TArrVar;
begin
  CDS1.Data :=
      a.AppServer.GrantRightsForObjects(Arr,inRetCode,stErrMsg); 
  CDS1.Data :=
      a.AppServer.GrantRightsForObjects(Arr2,inRetCode,stErrMsg);
end;

Получил : [Error] DModule1.pas(145): Type not allowed in Variant Dispatch call

Chaa

Первый параметр функции это SAFEARRAY из COM. В Delphi нужно использовать VarArray* функции. Должно быть примерно так:

var
    LObjCount: Integer;
    LArr: OleVariant;
begin
    LArr := VarArrayCreate([0, LObjCount - 1, 0, 3], varVariant);
    for i := 0 to LObjCount - 1 do
    begin
        LArr[i, 0] := objId;
        LArr[i, 1] := userName;
        LArr[i, 2] := access;
        LArr[i, 3] := finishTime;
    end;
    CDS1.Data :=
        a.AppServer.GrantRightsForObjects(LArr,inRetCode,stErrMsg);
end;
+ Благодарностей: 1

LorD_LeLiK

Для себя хотелось бы уточнить, ти п и что нужно "запихнуть" в переменную а в коде :
Цитировать  CDS1.Data :=
      a.AppServer.GrantRightsForObjects(Arr,inRetCode,stErrMsg);

Chaa

var
  a: TDCOMConnection;
  CDS1: TClientDataSet;

В API Лоцмана некоторые функции возвращают пакеты данных TClientDataSet.
В API плагина ПГС функции возвращают уже готовый IPluginDataSet, это обертка над TClientDataSet.
Вместо a там IPluginAppMain и IPluginAppWorkFlow.
+ Благодарностей: 1