Работа с библиотекой в проекте 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); // отправляем функции хэндл окна и имя файла