Вернуть параметр из 8.3 в 7.7 по COM

1. Виталий (user726666) 12.01.18 20:09 Сейчас в теме
Здравствуйте.

Из 7.7 подключаюсь к 8.3:
	Коннектор = СоздатьОбъект("V83.COMConnector");
	ПутьКБазе  = "d:\ПутьКБазе....";  
	Логин = "Администратор";  
	Пароль = 1;	
	ОбработкаCOM = Коннектор.Connect("СтрокаПодключения....");
  
       //Вызываю функцию из общего модулю 8.3
        Параметр = "";
	Рез = ОбработкаCOM.МойМодуль.МояФункция1(Параметр);
Показать


Функция в общем модуле 8.3
Функция МояФункция1(Параметр) Экспорт
       Параметр=2;
       Возврат Истина;
КонецФункции


После выполнения функции, Параметр = "", а должен вернуть 2. Что я делаю не так?
Ответы
3. Максим Б (Xershi) 286 12.01.18 22:06 Сейчас в теме
(1) скорее всего создается копия параметр77, а измененный параметр параметр83 так и остается в коме. Но это чисто теория.
Да и в любом случае используйте прямое назначение функции.
5. Олег Пономаренко (O-Planet) 6728 13.01.18 00:09 Сейчас в теме
// 7
Сп = СоздатьОбъект("СписокЗначений");
Рез = ОбработкаCOM.МойМодуль.МояФункция1(Сп);
Параметр = Сп.ПолучитьЗначение(1);

// 8
Функция МояФункция1(Сп) Экспорт
Сп.Добавить(2);
Возврат Истина;
КонецФункции
2. Ildar Mamatov (MamatovIA) 12.01.18 21:51 Сейчас в теме
Так нельзя сделать.
При вызове функции через COM передача параметров происходит по значению.
Если Вам нужно вернуть более одного значения из функции, можно использовать тип данных Структура
4. Александр Рытов (Арчибальд) 2692 12.01.18 23:13 Сейчас в теме
(2)
можно использовать тип данных Структура
Сильно сказано, особенно когда речь идет о семерке.
Оставьте свое сообщение