Работа с библиотекой в проекте C#
Формулировка задачи:
Добрый день.
В проекте C# я подключил библиотеку, написанную, как я понял, на C++, но возникли проблемы с использованием ее функций.
Ее суть в том, что она создает канал управления, а затем обращаясь к нему, общается с другой программой.
У этой библиотеки есть заголовочные файлы (*.pas и *.h) для проектов на языках Delphi и C++ соответственно.
Вырезка из *.h:
Вырезка из *.pas:
Суть вопроса в следующем: как мне создать канал управления, а затем передавать его в другие функции библиотеки, в моем проекте на C#?
P.S. Прошу прощения, если вопрос не в соответствующей теме, пишу первый раз, другой подходящей темы не нашел.
//создание канала управления void * __import CreateObject(void); // Передача файла bool __import SendFile(void *h, char *file_name); // Закрытие канала управления void __import DestroyObject(void *h, // хэндл объекта управления bool close_app); // флаг закрытия
// Создание объекта управления // ~возвращает хэндл объекта управления h function CreateObject() : THandle; cdecl; external 'ctl.dll'; // Передача файла function SendFile(h : THandle; file_name:PChar) : Boolean; cdecl; external 'ctl.dll'; // Уничтожение объекта управления procedure DestroyObject(h : THandle; close_app : Boolean); cdecl; external 'ctl.dll';
Решение задачи: «Работа с библиотекой в проекте C#»
textual
Листинг программы
[DllImport("CTL.dll", CharSet = CharSet.Auto)] public static extern IntPtr CreateObject(); /*******************/ IntPtr handle = CreateObject(); bool result = SendFile(handle,file); // отправляем функции хэндл окна и имя файла
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д