27 / 27 / 3
Регистрация: 17.07.2008
Сообщений: 224
1

Вызов метода в dll и получения ошибки error C3767: функции-кандидаты недоступны

08.06.2015, 17:19. Показов 3575. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Создал я библиотеку компонентов Windows Forms, все прошло хорошо. Во время использования dll, пытаюсь передать в метод этой библиотеки параметры (список объектов) начинает ругаться C3767 ошибкой. Если передаю обычную строку - все хорошо. Подскажите, как побороть. Спасибо.

Добавлено через 6 минут
тот метод в библиотеке:
C++
1
2
3
4
5
void filling(List<Staff^>^ _staffs, List<Employee^>^ _employees, List<Department^>^ _departments){
            this->staffs = _staffs;
            this->employees = _employees;
            this->departments = _departments;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2015, 17:19
Ответы с готовыми решениями:

Передача json массива и вызов метода для получения результатов
нужно отправить POST запрос на url API и передать JSON объект, получить ответный объект в формате...

Создание dll на C++ и вызов метода dll из C#.
Народ, может кто-нибудь выложить конкретный пример, как это сделать? Например есть же нативная...

Вызов из c# метода в Dll с++
Доброго времени суток, нужна помощь имеется ДЛЛ написанная на с++ И мои труды написанные на C#.В...

Dll вызов метода
Есть dll библиотека &quot;reser&quot; в ней есть метод ShowMess в которые передается строка. Как мне его...

7
Администратор
Эксперт .NET
9392 / 4676 / 757
Регистрация: 17.04.2012
Сообщений: 9,520
Записей в блоге: 14
08.06.2015, 19:57 2
Konstantin1706, в качестве предположения: подключите библиотеку (раз она управляемая) как
C++
1
#using "MyLib.dll"
1
27 / 27 / 3
Регистрация: 17.07.2008
Сообщений: 224
09.06.2015, 09:20  [ТС] 3
спасибо большое, завтра на работе попробую =). Отпишусь.

Добавлено через 10 часов 35 минут
к сожалению, но данное подключение привело к такому же результату.
А это не одно и то же, если я добавляю библиотеку путем Обозреватель решений - Ссылки?
0
Администратор
Эксперт .NET
9392 / 4676 / 757
Регистрация: 17.04.2012
Сообщений: 9,520
Записей в блоге: 14
09.06.2015, 09:31 4
Цитата Сообщение от Konstantin1706 Посмотреть сообщение
А это не одно и то же
Видимо, что одно и тоже

Добавлено через 4 минуты
Вот ещё что нашёл: http://stackoverflow.com/quest... accessible
Попробуйте
C++
1
[assembly:InternalsVisibleTo("LibTest")];
0
27 / 27 / 3
Регистрация: 17.07.2008
Сообщений: 224
09.06.2015, 13:32  [ТС] 5
странно, в самой библиотеке указал имя класса.
C++
1
[assembly:InternalsVisibleTo("Form1")];
в классе, где буду библиотеку использовать добавляю библиотеку как дружественную
C++
1
#using <EmployeeLib.dll> as_friend
но это дело не меняет.

Добавлено через 8 минут
может ли это быть из-за того, что расширение у Form1 h, а не cpp?
0
27 / 27 / 3
Регистрация: 17.07.2008
Сообщений: 224
10.06.2015, 16:10  [ТС] 6
может еще кто знает?

Добавлено через 9 минут
я не могу обратиться к полям dll. Из-за чего и происходит ошибка.
0
Администратор
Эксперт .NET
9392 / 4676 / 757
Регистрация: 17.04.2012
Сообщений: 9,520
Записей в блоге: 14
10.06.2015, 23:17 7
Konstantin1706, в параметре для InternalsVisibleTo нужно указать имя библиотеки, а не имя класса.
1
27 / 27 / 3
Регистрация: 17.07.2008
Сообщений: 224
15.06.2015, 09:56  [ТС] 8
все оказалось гораздо проще, это была моя невнимательность и усталость.
Использовал структуры для сущностей, но передавал список Object, а в самой библиотеке я принимал список объектов и переопределял на "местную" сущность. tezaurismosis, большое спасибо =).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2015, 09:56
Помогаю со студенческими работами здесь

Вызов метода из dll
Здравствуйте. Имеется dll, в котором определен класс Class1 и метод Method1. Нужно вызвать...

Вызов метода из класса в DLL
Написал свою Dll: namespace SPL { public class CPL { public CPL() //...

Вызов метода класса из DLL
Добрый вечер. Имеется длл, в которой есть: 1. Класс, содержащий метод 2. Функция, возвращающая...

Вызов метода, Syntax error
При попытке вызвать метод NitroxPatcher Main.Execute();


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

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

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