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

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

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

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

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

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

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

Программирование на VB (работа с Вертикалью)

Автор LONG, 03.10.11, 21:32:08

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

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

LONG

Добрый день! Не нашел раздела программирования по Вертикали, поэтому задам вопрос в этой ветке (не обессудьте).
Суть такая, что нужно написать на VB код, который будет подключаться к вертикали, открывать заданный (передаваемый) файл изделия, пробегать по его тех операциям и возвращать их списком. Если кто-то может помочь с решением такой задачи (именно на VB) - очень прошу отписаться.

l2qwe

28.11.11, 00:03:33 #1 Последнее редактирование: 28.11.11, 01:59:23 от l2qwe
Нечто подобное делал на Delphi, примеры есть в SDK по вертикали.


Пробегаемся по объектам технологии

var
    l_Iterator : IVIterator;
    l_Object : IVObject;
    l_ObjectVector : IVObjectVector;
    l_Model : IVModel;
    l_uniref : IUniRefer;
/////////////////////
  l_uniref := CoUnirefer.Create;
  if l_uniref=nil then begin
    ShowMessage('Ошибка подключения к UniRefer');
    exit;
  end;
  // вход пользователя в систему
  if ParamCount()=3 then
    b_logonsuccess := l_uniref.GlobalVars.Logon.LogonAsParams(ParamStr(1),ParamStr(2),ParamStr(3))
  else
    b_logonsuccess := l_uniref.GlobalVars.Logon.LogonAuto();
  if not b_logonsuccess then begin
    // m_uniref.GetLastErrorCode<>0 означает,
    // что введен неправильный логин либо пароль
    // m_uniref.GetLastErrorCode=0 - в диалоге нажали Отмена
    if l_uniref.GetLastErrorCode<>0 then
      ShowMessage(l_uniref.GetLastErrorMessage);
    l_uniref := nil;
    exit;
  end;

  l_model := CovModel.Create;
  if l_model=nil then begin
    ShowMessage('Ошибка подключения к VModel');
  end else begin
    try
      l_model.vrLoadModel(g_fileName,nil,(OPEN_FULL_STR_SERVER or FILES_EXTRACT));
    except
      on E: Exception do begin
        ShowMessage(E.Message);
        exit;
      end;//do
    end;//try
    l_model.vrApplySecurity;
    l_ObjectVector := l_Model.vrGetObjVector();
    l_countObject := 1;
    while l_countObject < l_ObjectVector.vrObjectsCount do begin
      l_Object := l_ObjectVector.vrItem(l_countObject);
      //////////вот объекты технологии//////////
    end;

PS может что то кривовато, и не конечно не VB но может поможет)