OLE шлюз
Модераторы: m0p3e, edward_K, Модераторы
OLE шлюз
Всем доброго времени суток.
Появилась нужда доступа к фейсам галактики из стороних приложений.
Открыл доку. Вроде все внятно написано.
1. Положить в ЕХЕ библиотеку AtOleAut.dll и запустить галю с ключом /regserver
2. Дале можно приступать к создани объекта, код из VBA: GalApp = CreateObject("GalNet.App")
при этом поимел такую картиyку
1. после выполнения первого пункта галя стартанула и тут же закрылась. Запустил oleview и ... не нашел кома галактического
2. При выполнении GalApp = CreateObject("GalNet.App") в VBA говорит что не может создать AtiveX components
может кто нить просветить меня че не так?
думаю стоит еще упоминуть о том что я галю не сетупил, просто копирнул когда то давно с чьей то машины и работаю с ней, но мне кажется что это совершенно не критично
Появилась нужда доступа к фейсам галактики из стороних приложений.
Открыл доку. Вроде все внятно написано.
1. Положить в ЕХЕ библиотеку AtOleAut.dll и запустить галю с ключом /regserver
2. Дале можно приступать к создани объекта, код из VBA: GalApp = CreateObject("GalNet.App")
при этом поимел такую картиyку
1. после выполнения первого пункта галя стартанула и тут же закрылась. Запустил oleview и ... не нашел кома галактического
2. При выполнении GalApp = CreateObject("GalNet.App") в VBA говорит что не может создать AtiveX components
может кто нить просветить меня че не так?
думаю стоит еще упоминуть о том что я галю не сетупил, просто копирнул когда то давно с чьей то машины и работаю с ней, но мне кажется что это совершенно не критично
Статья в документации была написана давно, когда основным файлом приложения был GalNet.exe. Сейчас основной файл это AtlExec.exe. Galnet.exe - просто заглушка-запускатель AtlExec.exe.
Делайте все как в документации только вместо GalNet везде пишите AtlExec
На пример:
GalApp = CreateObject("AtlExec.App")
Делайте все как в документации только вместо GalNet везде пишите AtlExec
На пример:
GalApp = CreateObject("AtlExec.App")
Да уж. Радость была не долга.
Галя стартует. А вот попытки передать ей параметры, дабы запустился какой нить интерфейс не увенчались успехом.
пробовал и так
и эдак
все одно твердит что несосвпадает тип параметра
попробовал даже на .NET через инвоцирование, галя стартует нормально, а имя фейса глотать не хочет
Галя стартует. А вот попытки передать ей параметры, дабы запустился какой нить интерфейс не увенчались успехом.
пробовал и так
Код: Выделить всё
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 через инвоцирование, галя стартует нормально, а имя фейса глотать не хочет
Дальше примера из документации у меня опыта не было. Но что мне подсказывает, что нужно имя компонента L_Remont указывать.
Код: Выделить всё
Dim GalApp As Object, Str As Object
GalApp = CreateObject("AtlExec.App")
Str = GalApp.ExecVip("L_Remont::ObjRem")
да нет, дело вовсе не в этом.
передавать имя компаненты я тоже пробовал.
только дело не доходит до анализа содержимого в переданном параметре так как система отказывается принимать этот параметр со словами COMException "несовпадение типов"
это очень плохо
придется городить огород
1. создавать текстовик где будут лежать значения параметров
2. прописывать в cfg с каким фейсом стартовать гале, наприимер test
3. запускать галю - блого это работает нормально
4. в интерфейсе test делать чтение созданого в п.1 текстовика и запускать уже нужный мне ObjRem с нужными параметрами
при этом за такое решение мне клиент выпьет всю кровь так как когда стартуешь галю с таким ключом то после закрытия интерфейса, галактика тоже сразу закрывается а это будет страсть как напрягать людей
передавать имя компаненты я тоже пробовал.
только дело не доходит до анализа содержимого в переданном параметре так как система отказывается принимать этот параметр со словами COMException "несовпадение типов"
это очень плохо
придется городить огород
1. создавать текстовик где будут лежать значения параметров
2. прописывать в cfg с каким фейсом стартовать гале, наприимер test
3. запускать галю - блого это работает нормально
4. в интерфейсе test делать чтение созданого в п.1 текстовика и запускать уже нужный мне ObjRem с нужными параметрами
при этом за такое решение мне клиент выпьет всю кровь так как когда стартуешь галю с таким ключом то после закрытия интерфейса, галактика тоже сразу закрывается а это будет страсть как напрягать людей
Есть шанс все таки получить решение на эту проблему. Вопрос был озвучен техподдержке. В настоящий момент статус такой - "эксперт приступил к поиску решения". Быть может что нить и выстрелит на этом поприще. Как появится новая информация обязательно поделюсь.я так понимаю свежей доки нет ни у кого.....
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 25 апр 2006, 12:05
- Откуда: г.Ростов-на-Дону
- Контактная информация:
Dim GalApp As Variant, Str As VariantHmyrii писал(а):да нет, дело вовсе не в этом.
передавать имя компаненты я тоже пробовал.
только дело не доходит до анализа содержимого в переданном параметре так как система отказывается принимать этот параметр со словами COMException "несовпадение типов"
это очень плохо
придется городить огород
1. создавать текстовик где будут лежать значения параметров
2. прописывать в cfg с каким фейсом стартовать гале, наприимер test
3. запускать галю - блого это работает нормально
4. в интерфейсе test делать чтение созданого в п.1 текстовика и запускать уже нужный мне ObjRem с нужными параметрами
при этом за такое решение мне клиент выпьет всю кровь так как когда стартуешь галю с таким ключом то после закрытия интерфейса, галактика тоже сразу закрывается а это будет страсть как напрягать людей