Создание dll и её последующие использование в новом приложении - C#
Формулировка задачи:
Мною было создано приложение под Windows Form, которое при нажатии кнопки "Старт", ищет устройства подключённые к USB, с использованием микросхемы Ftdi и в случае обнаружения такого устройства, устанавливает с ним связь с заданными параметрами ( скорость передачи, стоповые биты, проверка чётности и т.д. ) и после установки связи, по прерываниям от таймера принимает от этого устройства байты информации. Зная протокол передачи, программа разбирает принятые пакеты и записывает оцифрованные показания датчиков в соответствующие буферы. Принятые значения отображаются на экране в виде непрерывных графиков и подвергаются дальнейшей обработке.
Для своей работы, приложения использует dll:
Всё это отлажено и великолепно работает.
А вот теперь требуется ваша помощь.
Так как, аналогичных приложений надо будет создавать множество, хочется этот код оформить не в виде приложения exe, а в виде библиотеки dll. И уже на основе этой dll, создавать новые приложения.
На C# пишу недавно - помогите с этим вопросом.
using FTD2XX_NET;
Решение задачи: «Создание dll и её последующие использование в новом приложении»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e) { myFtdiDevice = new FTDI(); ftStatus = myFtdiDevice.GetNumberOfDevices(ref ftdiDeviceCount); if (ftStatus == FTDI.FT_STATUS.FT_OK) { } if (ftdiDeviceCount == 0) { MessageBox.Show("Не найдено ни одного устройства FTDI!"); return; } FTDI.FT_DEVICE_INFO_NODE[] ftdiDeviceList = new FTDI.FT_DEVICE_INFO_NODE[ftdiDeviceCount]; ftStatus = myFtdiDevice.GetDeviceList(ftdiDeviceList); if (ftStatus == FTDI.FT_STATUS.FT_OK) { } ftStatus = myFtdiDevice.OpenBySerialNumber(ftdiDeviceList[0].SerialNumber); if (ftStatus != FTDI.FT_STATUS.FT_OK) { string str1; str1 = "Failed to open device (error " + ftStatus.ToString(); MessageBox.Show(str1); return; } ftStatus = myFtdiDevice.SetBaudRate(57600); if (ftStatus != FTDI.FT_STATUS.FT_OK) { string str1; str1 = "Failed to set Baud rate (error " + ftStatus.ToString(); MessageBox.Show(str1); return; } ftStatus = myFtdiDevice.SetDataCharacteristics (FTDI.FT_DATA_BITS.FT_BITS_8, FTDI.FT_STOP_BITS.FT_STOP_BITS_1, FTDI.FT_PARITY.FT_PARITY_NONE); if (ftStatus != FTDI.FT_STATUS.FT_OK) { string str1; str1 = "Failed to set data characteristics (error " + ftStatus.ToString(); MessageBox.Show(str1); return; } ftStatus = myFtdiDevice.SetFlowControl(FTDI.FT_FLOW_CONTROL.FT_FLOW_RTS_CTS, 0x11, 0x13); if (ftStatus != FTDI.FT_STATUS.FT_OK) { string str1; str1 = "Failed to set flow control (error " + ftStatus.ToString(); MessageBox.Show(str1); return; } Svjaz = true; return; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д