Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2011, 15:40   #1
Zed32
Пользователь
 
Регистрация: 12.01.2011
Сообщений: 11
По умолчанию подключение сишной dll

Всм привет! У меня есть dll, написаная на си
Как правильно подключить функцию в C#?

Код:
extern "C" int DSTD DFindGoodsCode(const wchar_t* артикул, wchar_t* result, int result_size);
подключил так:
Код:
[DllImport("gc.dll", CharSet = CharSet.Auto)]
extern static int DFindGoodsCode([In, MarshalAs(UnmanagedType.LPWStr)] String ar, [Out, MarshalAs(UnmanagedType.LPWStr)] String result,int result_size);
использовал так:
Код:
String art="";
String res="";
DFindGoodsCode(art, res, 15);
Console.WriteLine("New name="+res);
Как правильно использовать?
И правильно ли я подключил функцию?

Последний раз редактировалось Zed32; 22.07.2011 в 16:58.
Zed32 вне форума Ответить с цитированием
Старый 23.07.2011, 13:49   #2
fenryr
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 28
По умолчанию

DSTD
что за calling conversion?
в завимимости от этого возможно надо указать
[DllImport("gc.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention....)]
fenryr вне форума Ответить с цитированием
Старый 25.07.2011, 12:03   #3
Zed32
Пользователь
 
Регистрация: 12.01.2011
Сообщений: 11
По умолчанию

Всем спасибо!
Заработало так:

Код:
[DllImport("gc.dll", CharSet = CharSet.Unicode)]
static extern int DFindGoodsCode(StringBuilder article, StringBuilder result, int result_size);

...........
StringBuilder artt = new StringBuilder(art);
StringBuilder res = new StringBuilder();
Console.WriteLine("code=" + DFindGoodsCode(artt, res, 50));
Console.WriteLine("New name=" + res.ToString());
Zed32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение интерфейсов к DLL DENISLED Помощь студентам 2 02.04.2011 21:22
Подключение DLL Ninetta Общие вопросы .NET 3 01.04.2010 01:06
Подключение DLL __Demon__ C++ Builder 2 09.12.2009 00:29
подключение coredll.dll BattleMage Win Api 1 21.09.2009 14:19
Подключение DLL 5naip Помощь студентам 9 27.10.2007 20:55