Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Точки входа для библиоткеи классов / 8 сообщений из 8, страница 1 из 1
24.12.2012, 03:02
    #38090109
kopiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
Хочется методы библиотеки классов вызывать используя АПИ функции Кернел32:
hModule = LoadLibrary("Library name");
hProc = Api.GetProcAddress(hModule, "Proc_name");
Библиотеку грузит нормально (hModule != 0), точку входа, которая соответствует "Proc_name" не находит (hProc == 0). То есть вопрос, как добавить описание экспортируемой функции для C# библиотеки.

Здесь:
http://channel9.msdn.com/Forums/TechOff/496320-DllExport-as-opposed-to-DllImport-in-C
ссылки на плагины, еще рекомендуется класс-обертка на управляемом C++.

Ни у кого нет ссылки или примера реализации такого класса (без плагинов)? ЗС.
...
Рейтинг: 0 / 0
24.12.2012, 03:05
    #38090111
kopiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
В принципе в данном случае интересна возможность указания в интерфейсе программы имени библиотеки, для того, чтобы пользователь мог добавлять свои программные модули.
...
Рейтинг: 0 / 0
24.12.2012, 03:56
    #38090118
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
kopiev,

слов много , а смыл размазан.
Что откуда запускать: С дёргает dll на C# ? (или наоборот)

если С дёргает dll на C# , то ессено GetProcAddress(hModule, "Proc_name"); ничего не даст.
что бы заработало там нужно шаманить. В ветке С++ была подобная тема .
...
Рейтинг: 0 / 0
24.12.2012, 03:58
    #38090119
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
figuerres дал там ссылу
автор.method assembly static void modopt
([mscorlib]System.Runtime.CompilerServices.CallConvStdcall)
DummyMethod() cil managed
{
.vtentry 1 : 1
.export [1] as DummyMethod
} // end of global method DummyMethod
...
Рейтинг: 0 / 0
24.12.2012, 07:19
    #38090149
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
Для интеграции Native <=> Managed обычно используется COM .
...
Рейтинг: 0 / 0
25.12.2012, 03:11
    #38091404
kopiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
beg-in-erfiguerres дал там ссылу
автор.method assembly static void modopt
([mscorlib]System.Runtime.CompilerServices.CallConvStdcall)
DummyMethod() cil managed
{
.vtentry 1 : 1
.export [1] as DummyMethod
} // end of global method DummyMethod
Отработало, упомянутый пост похоже удален, здесь подробное описание:
http://www.gotdotnet.ru/blogs/RaveNoX/7202/

К сожалению требует декомпиляции/компиляции после каждого создания библиотеки.
...
Рейтинг: 0 / 0
25.12.2012, 05:51
    #38091419
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
kopievК сожалению требует декомпиляции/компиляции после каждого создания библиотеки.
да мелочи это , если подумать и сделать.
...
Рейтинг: 0 / 0
25.12.2012, 07:19
    #38091428
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Точки входа для библиоткеи классов
kopievК сожалению требует декомпиляции/компиляции после каждого создания библиотеки.
http://www.codeproject.com/Articles/16374/How-to-Write-a-Terminal-Services-Add-in-in-Pure-C

усилия минимальны
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Точки входа для библиоткеи классов / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]