Пытаюсь использовать в Галактике OLE-объект для связи со сторонним ПО.
Выходит исключение "Ошибка при создании объекта "{5CECE069-926C-497B-BC13-75B4A5E40CA8}" Класс не зарегистрирован". Но с регистрацией все в порядке, и в Excel-е он прекрасно работает. Единственный изъян в том, что OLE-объект реализован как исполняемый файл, поэтому в реестре нет раздела InprocServer32, а есть LocalServer32.
Галактика может работать с такими OLE-объектами?
OLE-объект реализованный как исполняемый файл (.exe)
-
- партнер
- Сообщения: 28
- Зарегистрирован: Пт, 19/10/2007 11:49
- Имя Фамилия: Петр Кузьмин
- Откуда: ЗАО "Галактика Про"
- Контактная информация:
Стороннее ПО это ШтрихМ (работа со сканерами штрих кодов). Я понимаю, что проблема в каких-то особенностях его реализации, но с другой стороны и в Excel-е, и в 1С все работает с пол пинка, а в Галактике вилы. Для эксперимента переименовал в реестре LocalServer32 на InprocServer32, ошибка изменилась на "Ошибка в библиотеке DLL", что не удивительно т.к. DLL нет, есть EXE. Похоже, Атлантис ищет именно DLL (InprocServer32), про то, что бывают OLE-объекты в виде EXE (LocalServer32), он не знает.
-
- партнер
- Сообщения: 28
- Зарегистрирован: Пт, 19/10/2007 11:49
- Имя Фамилия: Петр Кузьмин
- Откуда: ЗАО "Галактика Про"
- Контактная информация:
Код самый обычный
Код: Выделить всё
_try {
HObj:= OleCreate('{5CECE069-926C-497B-BC13-75B4A5E40CA8}');
}
_except else message(ExploreException);
_finally {
if (HObj<>0) OleDestroy(HObj);
}