Пятница, 11.10.2024, 15:00
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Возмозжно двойное (тройное?) подключение компоненты
nclockworkerДата: Пятница, 06.08.2021, 21:24 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
В ИрПлатформа.epf есть такой участок кода:

Код
// Параметры:
//   ИмяКомпоненты - Строка - имя макета компоненты
//   КлассКомпоненты - Строка - имя 
//   ТипВнешнейКомпоненты - ТипВнешнейКомпоненты, * - по умолчанию Native
Функция ПолучитьОбъектВнешнейКомпонентыИзМакета(ИмяМакетаКомпоненты, ИмяОбъекта, ИмяКомпоненты = Неопределено, Знач ТипКомпоненты = Неопределено,
   ИмяМакетаДополнительнойБиблиотеки = "") Экспорт
   
   Если ТипКомпоненты = Неопределено Тогда
      ТипКомпоненты = ТипВнешнейКомпоненты.Native;
   КонецЕсли; 
   Попытка
      Результат = Новый (ИмяОбъекта);
   Исключение
      Если ИмяКомпоненты = Неопределено Тогда
         ИмяКомпоненты = ИмяМакетаКомпоненты;
      КонецЕсли;
      Если КодСимвола(ИмяМакетаКомпоненты, 1) >= 128 Тогда
         // https://www.hostedredmine.com/issues/890335
         ВызватьИсключение "Нельзя использовать кириллические буквы в именах файлов внешних компонент";
      КонецЕсли; 
      ФайлКомпоненты = ПроверитьЗаписатьКомпонентуИзМакетаВФайл(ИмяМакетаКомпоненты);
      Местоположение = ФайлКомпоненты.ПолноеИмя;
      Если ЗначениеЗаполнено(ИмяМакетаДополнительнойБиблиотеки) Тогда
         ФайлДополнительнойБиблиотеки = ПроверитьЗаписатьКомпонентуИзМакетаВФайл(ИмяМакетаДополнительнойБиблиотеки);
      КонецЕсли; 
      Успех = ПодключитьВнешнююКомпоненту(Местоположение, ИмяКомпоненты, ТипКомпоненты);
      ПодключитьВнешнююКомпоненту(ИмяОбъекта);
      Попытка
         Результат = Новый (ИмяОбъекта);
      Исключение
      КонецПопытки;
   КонецПопытки;
   Возврат Результат;
   
КонецФункции

Возможно тут ошибочное подключение компоненты несколько раз

Прикрепления: 4088413.png (42.4 Kb)
 
tormozitДата: Пятница, 06.08.2021, 23:15 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6388
Репутация: 165
Статус: Оффлайн
Так задумано. У метода ПодключитьВнешнююКомпоненту есть 2 сигнатуры. Поэтому я обе их вызываю, чтобы сработала одна из них.
 
  • Страница 1 из 1
  • 1
Поиск: