Подключение сишной dll - C#

Узнай цену своей работы

Формулировка задачи:

Всм привет! У меня есть 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);
Как написать правильно использовать? И правильно ли я подключил функцию?

Решение задачи: «Подключение сишной dll»

textual
Листинг программы
[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());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5