Страница 1 из 2
OLE шлюз
Добавлено: 17 апр 2009, 11:11
Hmyrii
Всем доброго времени суток.
Появилась нужда доступа к фейсам галактики из стороних приложений.
Открыл доку. Вроде все внятно написано.
1. Положить в ЕХЕ библиотеку AtOleAut.dll и запустить галю с ключом /regserver
2. Дале можно приступать к создани объекта, код из VBA: GalApp = CreateObject("GalNet.App")
при этом поимел такую картиyку
1. после выполнения первого пункта галя стартанула и тут же закрылась. Запустил oleview и ... не нашел кома галактического
2. При выполнении GalApp = CreateObject("GalNet.App") в VBA говорит что не может создать AtiveX components
может кто нить просветить меня че не так?
думаю стоит еще упоминуть о том что я галю не сетупил, просто копирнул когда то давно с чьей то машины и работаю с ней, но мне кажется что это совершенно не критично
Добавлено: 17 апр 2009, 12:10
LaaLaa
Статья в документации была написана давно, когда основным файлом приложения был GalNet.exe. Сейчас основной файл это AtlExec.exe. Galnet.exe - просто заглушка-запускатель AtlExec.exe.
Делайте все как в документации только вместо GalNet везде пишите AtlExec
На пример:
GalApp = CreateObject("AtlExec.App")
Добавлено: 20 апр 2009, 04:01
Hmyrii
Спасибо огромное. Все заработало. И в OleView сразу нашел зарегеный объект
Добавлено: 20 апр 2009, 07:59
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 через инвоцирование, галя стартует нормально, а имя фейса глотать не хочет
Добавлено: 20 апр 2009, 11:43
LaaLaa
Дальше примера из документации у меня опыта не было. Но что мне подсказывает, что нужно имя компонента L_Remont указывать.
Код: Выделить всё
Dim GalApp As Object, Str As Object
GalApp = CreateObject("AtlExec.App")
Str = GalApp.ExecVip("L_Remont::ObjRem")
Добавлено: 21 апр 2009, 10:27
Hmyrii
да нет, дело вовсе не в этом.
передавать имя компаненты я тоже пробовал.
только дело не доходит до анализа содержимого в переданном параметре так как система отказывается принимать этот параметр со словами COMException "несовпадение типов"
это очень плохо
придется городить огород
1. создавать текстовик где будут лежать значения параметров
2. прописывать в cfg с каким фейсом стартовать гале, наприимер test
3. запускать галю - блого это работает нормально
4. в интерфейсе test делать чтение созданого в п.1 текстовика и запускать уже нужный мне ObjRem с нужными параметрами
при этом за такое решение мне клиент выпьет всю кровь так как когда стартуешь галю с таким ключом то после закрытия интерфейса, галактика тоже сразу закрывается а это будет страсть как напрягать людей
Добавлено: 21 апр 2009, 14:36
LaaLaa
Т.е. проблема передать стоку? Не пробовал, но проблем вроде быть не должно.
Предложенный алгоритм ограждения огорода действительно не выход.
Добавлено: 21 апр 2009, 14:55
Gameus_
щас хотел попробовать - застрял на запуске галки
в доке написано - выбранные параметры необходимо оформить в виде .cfg-файла по умолчание для данного .exe;
как он должен называться (сам cfg) ?
рег прошел нормально, при попытке вызвать галактика ругается что не загружен менеджер бд....
Добавлено: 21 апр 2009, 15:49
Gameus_
galnet.cfg подошел
далее тоже исключение
Добавлено: 21 апр 2009, 18:45
Gameus_
Может есть у кого пример рабочий для 8.1 или дока свежая ?
Поделитесь плиз.
Добавлено: 05 май 2009, 11:48
Gameus_
я так понимаю свежей доки нет ни у кого.....
Добавлено: 07 май 2009, 03:56
Hmyrii
я так понимаю свежей доки нет ни у кого.....
Есть шанс все таки получить решение на эту проблему. Вопрос был озвучен техподдержке. В настоящий момент статус такой - "эксперт приступил к поиску решения". Быть может что нить и выстрелит на этом поприще. Как появится новая информация обязательно поделюсь.
Добавлено: 01 сен 2009, 21:09
Max_Fin
Как успехи по решению данной проблемы?
Добавлено: 02 сен 2009, 11:30
evchic
А что конкретно интересует по этому вопросу?
Добавлено: 02 сен 2009, 11:31
evchic
Hmyrii писал(а):да нет, дело вовсе не в этом.
передавать имя компаненты я тоже пробовал.
только дело не доходит до анализа содержимого в переданном параметре так как система отказывается принимать этот параметр со словами COMException "несовпадение типов"
это очень плохо
придется городить огород
1. создавать текстовик где будут лежать значения параметров
2. прописывать в cfg с каким фейсом стартовать гале, наприимер test
3. запускать галю - блого это работает нормально
4. в интерфейсе test делать чтение созданого в п.1 текстовика и запускать уже нужный мне ObjRem с нужными параметрами
при этом за такое решение мне клиент выпьет всю кровь так как когда стартуешь галю с таким ключом то после закрытия интерфейса, галактика тоже сразу закрывается а это будет страсть как напрягать людей
Dim GalApp As Variant, Str As Variant