#0
by 1C-Nick
Есть COM объект, без исходных кодов. Один из его методов в качестве параметра принимает указатель на строку (BSTR *var) и возвращает в нем результат работы. Вопрос: как правильно туда передать параметр из 1С не разрабатывая для этого промежуточных внешних компонент...
#2
by 1C-Nick
я вот думаю, нельзя ли получить в переменную 1С указатель на строку как результат работы какого-либо скрипта, а потом его передать как параметр. Но если 1С по ссылке ничего не передает, то и это не прокатит
#4
by 1C-Nick
самое интересное что на vbscript аналогичная проблема. по крайней мере, я не знаю как типизировать переменную скрипта *WALL*
#8
by 1C-Nick
из delphi, c#, Visual c++ и т.п. Из vbscript тоже наверное как-то можно, но я пока не знаю как. начал ковырять для написания обертки - вылетает с ошибкой, что параметр не соответствует нужному типу, а типизация в скрипте только при первом присваивании значения. вот и получается замкнутый круг... да и к тому же из-за того что в скрипте создается СОМ объект оно не особо быстро работает, а предполагается вешать эту функцию в обработчик ожидания. пока что вижу два решения - попросить разработчика компоненты слегка ее подрихтовать или писать обертку как внешнюю компоненту к 1С. например...
#9
by Torquader
И JavaScript и VbScript передают параметры через тип Вариант (У VbScript указатель на вариант). То есть прямой указатель на строку нужно как-то из этого Variant доставать. Также не стоит забывать, что у строки есть такой параметр, как размер - если передавать указатель, то никто не обещает нужный размер. Поэтому - если есть возможность - объяснить автору, что работать с указателем на строку можно только в пределах одного процесса и только когда известен размер строки, а для OLE обмена придуман тип Variant, с которым работать очень просто.
#11
by 1C-Nick
например, на Visual Basic объвив переменную string и передав - все работает, а вот на vbscript типизация переменных происходит при первом присваивании значения (что все равно не помогает в моем случае) и по умолчанию все переменные - variant по поводу размера - хотелось бы увидеть живой пример, когда размер получается неправильный.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- COM соединение и ПолучитьОбъект() обошли ли проблему?
- Передать ссылку из 1С в AXAPTA через COM
- Как передать COM объект с клиента на сервер 8.2
- Как передать управление с сервера на клиента?Можно ли передать Вопрос на клиента
- Как передать через Com - объект в другую базу "Хранилище значений"?
- Проблема передать ссылку на документ в запрос через COM.
- Передать с сервера на клиент COM объект
- Передать уникальный идентификатор по COM
- Передать XML через COM
- Формирую запрос через com объект для переноса документа! Как передать перечислен
- DELPHI + COM +1c 8.3. Не завершается COM. Помогите.
В этой группе 1С
- СЧет 62.Р в УПП
- Как выделить неск. строк в списке документов для их редактирования ?
- Ошибка загрузки информационной базы. В информационную базу загружены не все данные
- загрузить кладр в чистую конфигурацию
- Почему документ при записи может не регистрироваться в ТР последовательности?
- v7: УложитьСписокОбъектов работает медленно
- *.v8i - параметр OrderInList и OrderInTree
- как обрезать sql базу?
- Как вызвать удаленно функции 1С
- Не проводится "Закрытие месяца".
- 1C 7.7 +CommerceML 2
- Как получить ссылку на документ из его модуля
- "Выгрузка данных в идентичную конфигурацию" и РИБ в чем разница.....
- Восстановление периферийной базы из центральной
- Связи наборов данных в СКД
- Договор аренды транспортного средства с экипажем в 1С ЗиК 7.7
- MD82Exp.epf
- Чем быстрее всего подобрать md5 ?
- Как в форме списка документов сделать недоступным элемент отбора ЗначениеС ?
- v8: Фильтрация таблицы значений