OLE шлюз

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

OLE шлюз

Сообщение Hmyrii »

Всем доброго времени суток.
Появилась нужда доступа к фейсам галактики из стороних приложений.
Открыл доку. Вроде все внятно написано.

1. Положить в ЕХЕ библиотеку AtOleAut.dll и запустить галю с ключом /regserver
2. Дале можно приступать к создани объекта, код из VBA: GalApp = CreateObject("GalNet.App")

при этом поимел такую картиyку
1. после выполнения первого пункта галя стартанула и тут же закрылась. Запустил oleview и ... не нашел кома галактического
2. При выполнении GalApp = CreateObject("GalNet.App") в VBA говорит что не может создать AtiveX components

может кто нить просветить меня че не так?
думаю стоит еще упоминуть о том что я галю не сетупил, просто копирнул когда то давно с чьей то машины и работаю с ней, но мне кажется что это совершенно не критично
LaaLaa

Сообщение LaaLaa »

Статья в документации была написана давно, когда основным файлом приложения был GalNet.exe. Сейчас основной файл это AtlExec.exe. Galnet.exe - просто заглушка-запускатель AtlExec.exe.

Делайте все как в документации только вместо GalNet везде пишите AtlExec
На пример:
GalApp = CreateObject("AtlExec.App")
Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

Сообщение Hmyrii »

Спасибо огромное. Все заработало. И в OleView сразу нашел зарегеный объект :grin:
Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

Сообщение Hmyrii »

Да уж. Радость была не долга.
Галя стартует. А вот попытки передать ей параметры, дабы запустился какой нить интерфейс не увенчались успехом.

пробовал и так

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

Dim GalApp As Object, Str As Object
GalApp = CreateObject("AtlExec.App")
Str = GalApp.ExecVip("ObjRem")
и эдак

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

Dim GalApp As Object, Str As Object
Dim myParam() As Char = {"6", "O", "B", "J", "R", "E", "M"}
GalApp = CreateObject("AtlExec.App")
Str = GalApp.ExecVip(myParam)
все одно твердит что несосвпадает тип параметра
попробовал даже на .NET через инвоцирование, галя стартует нормально, а имя фейса глотать не хочет
LaaLaa

Сообщение LaaLaa »

Дальше примера из документации у меня опыта не было. Но что мне подсказывает, что нужно имя компонента L_Remont указывать.

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

Dim GalApp As Object, Str As Object
GalApp = CreateObject("AtlExec.App")
Str = GalApp.ExecVip("L_Remont::ObjRem")
Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

Сообщение Hmyrii »

да нет, дело вовсе не в этом.
передавать имя компаненты я тоже пробовал.
только дело не доходит до анализа содержимого в переданном параметре так как система отказывается принимать этот параметр со словами COMException "несовпадение типов"

это очень плохо
придется городить огород
1. создавать текстовик где будут лежать значения параметров
2. прописывать в cfg с каким фейсом стартовать гале, наприимер test
3. запускать галю - блого это работает нормально
4. в интерфейсе test делать чтение созданого в п.1 текстовика и запускать уже нужный мне ObjRem с нужными параметрами

при этом за такое решение мне клиент выпьет всю кровь так как когда стартуешь галю с таким ключом то после закрытия интерфейса, галактика тоже сразу закрывается а это будет страсть как напрягать людей
LaaLaa

Сообщение LaaLaa »

Т.е. проблема передать стоку? Не пробовал, но проблем вроде быть не должно.

Предложенный алгоритм ограждения огорода действительно не выход.
Gameus_
Местный житель
Сообщения: 209
Зарегистрирован: 18 окт 2006, 17:03
Откуда: Ростов на Дону Новочеркасск Новороссийск
Контактная информация:

Сообщение Gameus_ »

щас хотел попробовать - застрял на запуске галки :)
в доке написано - выбранные параметры необходимо оформить в виде .cfg-файла по умолчание для данного .exe;

как он должен называться (сам cfg) ? :)
рег прошел нормально, при попытке вызвать галактика ругается что не загружен менеджер бд....
Gameus_
Местный житель
Сообщения: 209
Зарегистрирован: 18 окт 2006, 17:03
Откуда: Ростов на Дону Новочеркасск Новороссийск
Контактная информация:

Сообщение Gameus_ »

galnet.cfg подошел :)

далее тоже исключение :(
Gameus_
Местный житель
Сообщения: 209
Зарегистрирован: 18 окт 2006, 17:03
Откуда: Ростов на Дону Новочеркасск Новороссийск
Контактная информация:

Сообщение Gameus_ »

Может есть у кого пример рабочий для 8.1 или дока свежая ?
Поделитесь плиз.
Gameus_
Местный житель
Сообщения: 209
Зарегистрирован: 18 окт 2006, 17:03
Откуда: Ростов на Дону Новочеркасск Новороссийск
Контактная информация:

Сообщение Gameus_ »

я так понимаю свежей доки нет ни у кого.....
Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

Сообщение Hmyrii »

я так понимаю свежей доки нет ни у кого.....
Есть шанс все таки получить решение на эту проблему. Вопрос был озвучен техподдержке. В настоящий момент статус такой - "эксперт приступил к поиску решения". Быть может что нить и выстрелит на этом поприще. Как появится новая информация обязательно поделюсь.
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Как успехи по решению данной проблемы?
Жду выхода Вселенная 2.12!
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

А что конкретно интересует по этому вопросу?
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

Hmyrii писал(а):да нет, дело вовсе не в этом.
передавать имя компаненты я тоже пробовал.
только дело не доходит до анализа содержимого в переданном параметре так как система отказывается принимать этот параметр со словами COMException "несовпадение типов"

это очень плохо
придется городить огород
1. создавать текстовик где будут лежать значения параметров
2. прописывать в cfg с каким фейсом стартовать гале, наприимер test
3. запускать галю - блого это работает нормально
4. в интерфейсе test делать чтение созданого в п.1 текстовика и запускать уже нужный мне ObjRem с нужными параметрами

при этом за такое решение мне клиент выпьет всю кровь так как когда стартуешь галю с таким ключом то после закрытия интерфейса, галактика тоже сразу закрывается а это будет страсть как напрягать людей
Dim GalApp As Variant, Str As Variant
Ответить