Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Шаблон проекта для VS2010 C# реализующий USB HID
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
smk
Поскольку возникла н6еобходимость написания прикладного софта для работы с разработанным USB HID устройством (измерительный прибор) перерыл кучу всего чтоб суметь это сделать под VS2010 C#. Подобного опыта ранее небыло. В результате остановился на generic_hid_cs_50.zip как на более-менее понятном. Поскольку мне вполне достаточно (пока) обмениваться пакетами в 64 байта, маленько упростил generic_hid. В результате получился HidTest. Но т.к. это мой первый опыт прошу помощи более знающих людей помочь "причесать" получившееся так, чтобы вышел шаблон пустого проекта. Наверняка понадобится не только мне, но и много еще кому. Если удастся сделать белее совершенный шаблон, например принимающий сообщения разной длинны, то будет только лучше. Спасибо.

Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
smk
Ну хоть поругайте чтоли чайника...
neiver
Ну сами напросились sm.gif
Код:
1. Использование типов Boolean, String, Int32 вместо bool, string, int соответственно, там где не надо. Между ними есть разница, см Гугл. Нужны они только в классе Hid, где объявлены PInvoke методы.
2. Форма имеет поле со ссылкой на себя FrmMy. Зачем?
3. AccessForm и иже с ним - вообще песня. Не надо пытаться дёргать форму из других потоков это почти всегда плохо. Нужно чтоб у формы и у этих других потоков были разделяемые данные - модель. Поток обновляет модель, форма периодически оттуда читает данные и обновляет свои элементы управления.
UI:
1. Форма ресайзится, а компоненты не двигаются - нужны Anchor и Dock
2. Нет валидации и фильтрации вводимых данных, в текстовые поля можно ввести что угодно и приложение упадёт.
3. TabOrder
andrewlekar
Цитата
Между ними есть разница, см Гугл.

"Тип string — это псевдоним для типа String платформы .NET Framework." Пруф: http://msdn.microsoft.com/ru-ru/library/362314fe.aspx
smk
Цитата(neiver @ Feb 5 2013, 11:17) *
Ну сами напросились sm.gif
Код:
1. Использование типов Boolean, String, Int32 вместо bool, string, int соответственно, там где не надо. Между ними есть разница, см Гугл. Нужны они только в классе Hid, где объявлены PInvoke методы.
2. Форма имеет поле со ссылкой на себя FrmMy. Зачем?
3. AccessForm и иже с ним - вообще песня. Не надо пытаться дёргать форму из других потоков это почти всегда плохо. Нужно чтоб у формы и у этих других потоков были разделяемые данные - модель. Поток обновляет модель, форма периодически оттуда читает данные и обновляет свои элементы управления.
UI:
1. Форма ресайзится, а компоненты не двигаются - нужны Anchor и Dock
2. Нет валидации и фильтрации вводимых данных, в текстовые поля можно ввести что угодно и приложение упадёт.
3. TabOrder

Спмсибо. Замечание принято.
smk
А в части самого USB замечания-предложения будут?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.