Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2018, 06:49   #1
Danil_lll
Новичок
Джуниор
 
Регистрация: 19.09.2018
Сообщений: 3
По умолчанию Возврат 3-х и более переменных из функции

Всем доброго времени суток.
Есть COM-библиотека, которую вызываю в Python через: win32com.client. Сама COM-библиотека написана на С++. Т.е. в ней есть такие функци, которые могут возвращать 2 и более переменных.
Вот например функция, в которую отправим 6 параметров, 3 из которых вернутся с новым значением:
Код:
STDMETHODIMP Hybrid::Verify(BSTR alias, BSTR inData, BSTR inSign, BSTR* outData, BSTR* outVerifyInfo, BSTR* outCert)
{
    ..............................................
    return S_OK;
}

Когда же на выход был один параметр:
Код:
STDMETHODIMP Hybrid::GetLastError(ULONG* rv)
{
    .......................................
    return S_OK;
}
на Python-е я использовал простое присваивание:
Код:
 err = Hybrid.GetLastError()


А вот как получить с таких функций сразу 2,3,4 и более параметров?

Пробовал вот так! Не работает…
Код:
 outData, outVerifyInfo, outCert  = Hybrid.Verify(" ", inD, inS)

p.s. Стоит Python 3.7
Danil_lll вне форума Ответить с цитированием
Старый 19.09.2018, 07:02   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Tuples? https://stackoverflow.com/questions/...lues-in-python
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 19.09.2018, 07:10   #3
Danil_lll
Новичок
Джуниор
 
Регистрация: 19.09.2018
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Я не могу отредактировать функции в библиотеке.
Так как они не возвращаются через RETURN, то получается надо эти параметры, как и в Си, как-то через "&" или "out" возвращать... А вот как...?)
Danil_lll вне форума Ответить с цитированием
Старый 19.09.2018, 08:20   #4
Danil_lll
Новичок
Джуниор
 
Регистрация: 19.09.2018
Сообщений: 3
По умолчанию

Разобрался, спасибо
Danil_lll вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат локальных переменных coNsept Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 09.12.2011 02:02
Возврат 2 и более аргументов из функции. Drilla Microsoft Office Excel 2 18.09.2011 14:11
c++ возврат указателя из функции Neolit1819 Помощь студентам 6 28.03.2011 15:37
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Возврат переменных из цикла и функций %$PROregRAMi$t% PHP 8 31.08.2010 05:22