OLE-объект реализованный как исполняемый файл (.exe)

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
Peter
партнер
Сообщения: 28
Зарегистрирован: Пт, 19/10/2007 11:49
Имя Фамилия: Петр Кузьмин
Откуда: ЗАО "Галактика Про"
Контактная информация:

OLE-объект реализованный как исполняемый файл (.exe)

Сообщение Peter »

Пытаюсь использовать в Галактике OLE-объект для связи со сторонним ПО.
Выходит исключение "Ошибка при создании объекта "{5CECE069-926C-497B-BC13-75B4A5E40CA8}" Класс не зарегистрирован". Но с регистрацией все в порядке, и в Excel-е он прекрасно работает. Единственный изъян в том, что OLE-объект реализован как исполняемый файл, поэтому в реестре нет раздела InprocServer32, а есть LocalServer32.
Галактика может работать с такими OLE-объектами?
Аватара пользователя
Screw
топ-софт
Сообщения: 73
Зарегистрирован: Пт, 14/09/2007 22:54
Имя Фамилия: Виталий Корзюк
Откуда: ТопСофт
Контактная информация:

Сообщение Screw »

Что за неизвестный науке guid - {5CECE069-926C-497B-BC13-75B4A5E40CA8}? О каком объекте речь? С кем пытаетесь связаться?
Peter
партнер
Сообщения: 28
Зарегистрирован: Пт, 19/10/2007 11:49
Имя Фамилия: Петр Кузьмин
Откуда: ЗАО "Галактика Про"
Контактная информация:

Сообщение Peter »

Стороннее ПО это ШтрихМ (работа со сканерами штрих кодов). Я понимаю, что проблема в каких-то особенностях его реализации, но с другой стороны и в Excel-е, и в 1С все работает с пол пинка, а в Галактике вилы. Для эксперимента переименовал в реестре LocalServer32 на InprocServer32, ошибка изменилась на "Ошибка в библиотеке DLL", что не удивительно т.к. DLL нет, есть EXE. Похоже, Атлантис ищет именно DLL (InprocServer32), про то, что бывают OLE-объекты в виде EXE (LocalServer32), он не знает.
Аватара пользователя
Screw
топ-софт
Сообщения: 73
Зарегистрирован: Пт, 14/09/2007 22:54
Имя Фамилия: Виталий Корзюк
Откуда: ТопСофт
Контактная информация:

Сообщение Screw »

Можно на код подключения посмотреть?
Peter
партнер
Сообщения: 28
Зарегистрирован: Пт, 19/10/2007 11:49
Имя Фамилия: Петр Кузьмин
Откуда: ЗАО "Галактика Про"
Контактная информация:

Сообщение Peter »

Код самый обычный

Код: Выделить всё

  _try {
    HObj:= OleCreate('{5CECE069-926C-497B-BC13-75B4A5E40CA8}');
  }
  _except else message(ExploreException);
  _finally {
    if (HObj<>0) OleDestroy(HObj);
  }
Ответить