Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Передача массива параметром


Автор: tarakan 20.10.2016, 19:30
Требуется проверить соединение с ТСД (Терминал сбора данных)
Из инструкции к драйверу
Цитата
Подключение и создание объекта компоненты в 1С происходит следующим образом:
Код
обДрайвер = Новый COMОбъект("AddIn.Cl.TerminalConnector");

Open/Подключить
Код
int Подключить(object МассивПараметров,ref string ИдУстройства)

Выполняет инициализацию компоненты драйвера.
МассивПараметров
Массив содержащий параметры подключения:
1.ТипСвязи (Целое: 0 или 1), 
  0–прямая связь с ТСД, 1–связь с сервером терминалов;
Для случая прямой связи с ТСД:
2.ПереписыватьНоменклатуру (Целое: 0 или 1), 
  0–не переписывать полностью номенклатуру при выгрузке добавлять новые позиции), 1 – переписывать полностью;
3.ПутьКПапкеОбмена (Строка) (см. Терминальный режим и удаленный доступ (RDP)), пустая строка, если не используется обмен через папку;

Результат 0–ошибка; 1–удачно.


Делаю
Код
function CHECKCONNECT(var IDTerminal,ERR : string) : Integer;
  var
    TSD : OleVariant;
    y : OleVariant;
begin
  Result := 0;
  Screen.Cursor := crHourGlass;
  try
    try
      TSD := CreateOleObject('AddIn.Cl.TerminalConnector');
      //Задаю параметры
     //0-прямая связь, 1-Перезаписывать ном., '' - не используется обмен через папку 
      y := VarArrayOf([0,1,'']);
      TSD.Open(VarArrayRef(y),IDTerminal);
      
    except
      on E : Exception do
        begin
          Result := -1;
          ERR := 'Ошибка проверки связи с ТСД, возможно не установлен драйвер';
          IniU.SaveLog(ERR + ' : '+E.Message);
        end;
    end;
  finally
    TSD.ReleaseMemory;
    Screen.Cursor := crDefault;
  end;
end;

Результат всегда получаю 0 и пустую ИдУстройства, подскажите как правильно передать массив параметров.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)