Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2016, 19:19   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию Передача массива параметром

Требуется проверить соединение с ТСД (Терминал сбора данных)
Из инструкции к драйверу
Цитата:
Подключение и создание объекта компоненты в 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 и пустую ИдУстройства, подскажите как правильно передать массив параметров.
tarakan1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача значения параметром командной строки mrprim Python 10 17.08.2016 20:53
Передача массива в функцию и возврат массива из функции Gstar C# (си шарп) 6 14.10.2012 00:38
передача массива параметром процедуры Var17 БД в Delphi 0 31.05.2012 11:53
Передача в параметр процедуры. Робота с параметром Delphi_ProGer Помощь студентам 1 21.12.2011 02:00
Произведение элементов массива в функции (передача массива в функцию) (Delphi) Toxa16 Помощь студентам 1 23.04.2011 04:42