Программирование RFID с VB.NET
Вопрос
Я пытаюсь использовать бесконтактную смарт -карту RFID (серия T8/D8) для моего окончательного проекта. Но у меня есть проблемы с восприятием файла DCRF32.dll в моей форме.
В пакете RFID есть 3 вещи (поэтому: 12 Smartcards, USB -порт и компакт -диск с драйвером)
На компакт -диске драйвера есть так много образцов проекта на некотором языке программирования, за исключением VB.net, я попробовал их один за другим, и это работа.
Есть папка под названием «Win32-Dll», в ней есть 3 файла (dcrf32.dll
, dcrf32.h
, dcrf32.lib
) Я должен скопировать их все в каждой выборке, которую я хочу использовать.
У них также есть пример в VB.6, когда я пытаюсь запустить его, никаких проблем вообще. Оно работает. (Я также поместил эти 3 файла DCRF в %windows%\System32
папка).
Но когда я пытаюсь создать свой собственный проект с помощью Visual Studio 2010 и используя язык программирования VB.NET, у меня возникает проблема, вызывающая файл DCRF32.dll.
Я перенесен исходный код VB6 в VB.NET, он имеет ошибку при предоставлении параметров функции DC_INIT. Кто-нибудь может мне помочь? Где моя вина?
Вот ссылки, которые важны для решения моих проблем:Здесь
Мне просто нужна помощь с моей первой кнопкой, и вам не нужно помогать мне с другой кнопкой, как в программе VB 6.
Я просто хочу знать, как подключить файлы DCRF32, и почему в vb.net у него есть ошибка, но в VB 6 он работает должным образом.
Интересно.
Решение
Проблема, которую вы испытываете, заключается в том, чтобы иметь дело с вашими функциями объявления, и тот факт, что существуют изменения в размере целых чисел и длинных и т. Д. В VB.NET. Посмотри на это Ссылка на сайт И этот кодовый проект Статья При использовании Pinvoke.
То есть целое число в VB6 - это короткий VB.NET, длинный в VB6 - целое число в VB.NET. % В ваших объявлениях является целым числом VB6 и станет коротким.
Declare Auto Function dc_init Lib "dcrf32.dll" (ByVal port as Short, ByVal baud As Integer) As Integer
Declare Auto Function dc_exit Lib "dcrf32.dll" (ByVal icdev As Integer) As Short
Declare Auto Function dc_request Lib "dcrf32.dll" (ByVal icdev As Integer, ByVal mode as Short, tagtype As Integer) As Short
Declare Auto Function dc_anticoll Lib "dcrf32.dll" (ByVal icdev As Integer, ByVal bcnt as Short, snr As Integer) As Short
...