Я пытаюсь вызвать функцию с ком-сервера с подписью (файл .idl):
typedef [v1_enum] enum Mode
{
Mode1,
Mode2
}
Mode;
[id(33)] HRESULT GetPosition
(
[out] double* x,
[out] double* y,
[in] Mode positionMode
);
Код python выглядит так:
import win32com.client
obj = win32com.client.gencache.EnsureDispatch('Server.Object.1')
from win32com.client import constants as c
(x,y) = obj.GetPosition(Mode=c.Mode1)
# I tried also x,y=... x=...
И я получить сообщение об ошибке
pywintypes.com_error: (-2147352562, 'Недопустимое количество параметров.', Нет, Нет)
Хорошо работает при передаче параметров в функции или возвращая одиночные выходные аргументы, например:
obj.setValue(42)
x = obj.getValue()
Как мне работать с несколькими выходными параметрами?