0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 32
1

Произошла ошибка при попытке создать объект

07.07.2015, 12:30. Показов 1974. Ответов 9
Метки нет (Все метки)

Доброго времени суток, форумчане!
Нужна ваша помощь.
При помещении UserControl на форму через elementHost, выкидывает ошибку такого вида: "Произошла ошибка при попытке создать объект типа 'бла-бла-бла'. Убедитесь, что заданный тип имеет конструктор по умолчанию."
Не могу понять, в чем дело. Вот часть кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public partial class DrawingLb : UserControl
{        
       public DrawingLb()
       {
            InitializeComponent();
            DrawingLimits();
            MouseLeftButtonDown += RectsMouseDown;
            MouseMove += RectsMouseMove;
            MouseLeftButtonUp += RectsMouseUp;
            
        } //Ниже описываются функции и события. Вряд ли ошибка там
 
}
Причем, если в коде формы прописать:
C#
1
2
var fff = new DrawingLb();
elementHost1.Child = fff;
то все будет работать. Только события работают криво.
Буду благодарен за любую помощь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2015, 12:30
Ответы с готовыми решениями:

Произошла ошибка при выполнении определения команды. Дополнительные сведения приведены во внутреннем исключении
Где смотреть эти исключения внутренние? ошибка вылазит при выполнении команды db.equipments.Any(eq...

Ошибка при попытке импорта DLL
public static extern int DwmExtendFramelntoClientArea(IntPtr hwnd , ref Margins pMarlnset); ...

При попытке удалении файла появляется ошибка
Доброго времени суток. Есть служба. При появлении файлов в определенной папке служба перемещает...

Выходит ошибка при попытке отправки файла по TCP
using System; using System.IO; using System.Net; using System.Net.Sockets; using...

9
2 / 2 / 0
Регистрация: 22.06.2019
Сообщений: 5
20.11.2019, 10:26 2
Пользовательский элемент управления должен содержать конструктор по умолчанию(без параметров). Также где-то читал, что в нём не должно быть никакого кода кроме вызова метода InitializeComponent. Если вам нужно выполнить какие-либо действия после создания элемента, придётся вынести их в отдельный метод и вызывать его при создании формы. Также после всех изменений нужно сначала пересобрать проект, чтобы обновить файл связанный с этим элементом в папке obj, т.к. именно его использует визуальный редактор пользовательского интерфейса.
0
Модератор
Эксперт .NET
13522 / 9772 / 2618
Регистрация: 21.04.2018
Сообщений: 29,039
Записей в блоге: 2
20.11.2019, 15:36 3
Arseny24, в конструкторе всё ОК, кроме вызова метода DrawingLimits();.
Его кода нет, поэтому судить наверняка не могу
Возможно там идёт обращение к ещё не загруженным элементам.
Попробуйте перенести его вызов в событие Loaded UC.
0
WPF Разработчик
463 / 167 / 42
Регистрация: 20.02.2018
Сообщений: 285
20.11.2019, 16:09 4
Arseny24, а по моему эта ошибка вызвана тем, что Вы на "форму" поместили контрол у которого нет конструктора без параметров.
Не забудьте в него добавить InitializeComponent();
0
Модератор
Эксперт .NET
13522 / 9772 / 2618
Регистрация: 21.04.2018
Сообщений: 29,039
Записей в блоге: 2
20.11.2019, 16:44 5
sttrox, в первом же посте Arseny24 дал код с конструктором по умолчанию.
Так же он т пояснил что при создании в CB контрол создаётся без ошибок.
Проблема возникает только при создании в XAML.

Из сочетания этих факторов, на мой взгляд, возможна только одна причина.
Обращение к каким-то свойствам элементов инициализируемым после их загрузки, а не при их создании.
0
WPF Разработчик
463 / 167 / 42
Регистрация: 20.02.2018
Сообщений: 285
20.11.2019, 17:26 6
Лучший ответ Сообщение было отмечено Элд Хасп как решение

Решение

Элд Хасп, user9018, Господа, я загуглил вопрос и знаете что нашёл? Дату!
В гугле этот пост от 2015 года. А автор поста не заходил на форум с 2017 года.
Боюсь, что мы никогда не узнаем что за тип в место 'бла-бла-бла'

Добавлено через 4 минуты
Подозрительно.
Осмелюсь предположить, что user9018 по тихой воде хотел набрать себе 3 сообщения,
для того, что бы получить возможность писать личные сообщения. Что свидетельствует
ещё один его ответ на вопрос 2015 года. Ссылка.
А я на автомате искал решение задачи...
1
Модератор
Эксперт .NET
13522 / 9772 / 2618
Регистрация: 21.04.2018
Сообщений: 29,039
Записей в блоге: 2
20.11.2019, 17:40 7
sttrox, блин! Пронос!
Я даже не посмотрел на дату создания темы!
0
WPF Разработчик
463 / 167 / 42
Регистрация: 20.02.2018
Сообщений: 285
20.11.2019, 17:44 8
Элд Хасп, в этом и проблема, так гонимся помочь человеку,
что не замечаем как ему решение уже и не надо.
Забавно
0
2 / 2 / 0
Регистрация: 22.06.2019
Сообщений: 5
21.11.2019, 15:05 9
sttrox, Элд Хасп. Ответил тут, т.к. сам столкнулся с подобной проблемой. Автору это уже точно не нужно и что у него было мы не узнаем, но зато это может помочь кому-то другому.
На счёт ответа в другой теме... Просто когда-то давно было немного лень писать ответ, но я дал себе обещание всё таки ответить и вот этот день настал :-)

p.s. на ЛС мне грубо говоря пофиг

Добавлено через 10 минут
sttrox, Элд Хасп, В сообщении выше просто выделил ники жирным. Сейчас заметил, что можно упомянуть пользователя, поэтому дополню сообщение.
p.s. Для того, чтобы увидеть дату создания темы, не обязательно её гуглить)
0
WPF Разработчик
463 / 167 / 42
Регистрация: 20.02.2018
Сообщений: 285
21.11.2019, 15:54 10
user9018, Вы не поняли нашей иронии. Мы не заметили время из-за того, что гнались скорее найти решение. О времени публикации вообще не было мысли
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2019, 15:54
Помогаю со студенческими работами здесь

При попытке записать в app.config возникает ошибка NullReferenceException
Возникает NullReferenceException. Почему? App.config присутствует в проекте. Configuration...

При попытке создать объект obj=Server.CreateObject('Name.ClassName') Возникает ошибка, 'Объект не поддерживает это свойство или метод.'
При попытке создать объект obj=Server.CreateObject('Name.ClassName') Возникает ошибка, 'Объект не...

Произошла ошибка при попытке копирования файла
Я стал устанавливать игру на виндовс 7,пошла установка и затем появилось такое окно Произошла...

При попытке создать объект ADODB.Recordset зависает IIS .
Web Сервер на базе Win2000/IIS Подключаюсь с ASP страницы через VBScript к ODBC источнику (Btrieve...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru