Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с inpout32.dll в VB 6.0, VB не видит библиотеку 
V
    Опции темы
Андрей62
Дата 8.12.2019, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.12.2019

Репутация: нет
Всего: нет



Есть старенький, но хороший Pentium-4, решил использовать его как центр управления через LPT порт.
Для создания программы решил взять VB 6.0, т.к. что то другое для 32разрядного процессора не нашел.
На VB ранее не работал, хотя опыт в программировании имею, сразу, до глобального погружения в язык решил
исследовать возможность работы с портом. Сеть очень рекомендует библиотеку inpout32.dll, типа поместите
ее в папку с проектом, в крайнем случае в папку c:\Windows\system32\ и будет вам счастье, но счастье не пришло.
Что сделал: пытался подключить библиотеку через References, подключаться не хочет,  пытался зарегистрировать
библиотеку в системе командой regsvr32, говорит, что библиотеку то загрузила, но точки входа не определены.
Естественно, при обращении в процедуре к компонентам данной библиотеки, получаю сообщение компилятора,
что комментарии надо ставить после команды End Sub.
Качал штук 20 разных вариантов библиотеки inpout32.dll из разных источников - толку ноль, переустановил Windows XP -
тот же ноль, все, мои скудные знания закончились. 
Помогите кто чем может, мы не местные!
PM MAIL   Вверх
Akina
Дата 8.12.2019, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20434
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 32
Всего: 449



Цитата(Андрей62 @  8.12.2019,  16:02 Найти цитируемый пост)
точки входа не определены ... Windows XP

А библиотека точно совместима с XP?



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Андрей62
Дата 9.12.2019, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.12.2019

Репутация: нет
Всего: нет



Я качал библиотеки в интернете и выбирал для 32-разрядных процессоров, а вот по поводу ОС - бог его знает, но перебрал много.
PM MAIL   Вверх
Akina
Дата 9.12.2019, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20434
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 32
Всего: 449



Попробуй
Код

' в модуль
Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)


' в процедуру
Out int_port_num, int_out_data
int_in_data = Inp(int_port_num)



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Андрей62
Дата 11.12.2019, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.12.2019

Репутация: нет
Всего: нет



 в папке с проектом находится inpout32.dll размер 32К, производитель указан www.logix4u.net

В модуль вставил одну строку Public Declare Function ..... и запустил на выполнение, сразу получил на неё:
Compile Error:
    Only comments may apper after End Sub, End Function, or End Property

(У меня в VB6 не установлена база комментариев, она кажется MSDN называется)  
PM MAIL   Вверх
Akina
Дата 11.12.2019, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20434
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 32
Всего: 449



Цитата(Андрей62 @  11.12.2019,  12:38 Найти цитируемый пост)
сразу получил на неё

Для подобных деклараций лучше всего создавать отдельный модуль. В крайнем случае помещать в начало текущего модуля (и делать Private, вероятно), сразу после Option xxx и перед любыми Dim yyy. Но уж никак не в середину модуля. Также крайне нежелательно пихать это дело в модуль класса (в т.ч. модуль формы).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Андрей62
Дата 12.12.2019, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.12.2019

Репутация: нет
Всего: нет



Все таки мне кажется,что бэйсик не видит библиотеку, пытался сделать:
Project - References - Browse - библиотека inpout32.dll
 Получаю: Не удается добавить ссылку на указанный файл
А почему не удается? Может быть он не годный или не тот что надо?
Какая должна быть библиотека для Pentium 4 (32 разряда) с установленной Win XP?

А вообще, спасибо вам Акина, вы единственный откликнулись. 
PM MAIL   Вверх
Akina
Дата 12.12.2019, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20434
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 32
Всего: 449



Цитата(Андрей62 @  12.12.2019,  14:29 Найти цитируемый пост)
пытался сделать:
Project - References - Browse - библиотека inpout32.dll
 Получаю: Не удается добавить ссылку на указанный файл

Ну я же вроде рассказал - как. И про референсы там не было ни полслова.
Цитата(Андрей62 @  12.12.2019,  14:29 Найти цитируемый пост)
А почему не удается?

А потому что это не тот тип библиотеки. 

Это как Windows API. Декларишь - работает, а подцепить как референс нельзя (те же функции из kernel32, к примеру).




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Андрей62
  Дата 13.12.2019, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.12.2019

Репутация: нет
Всего: нет



Цитата

Это как Windows API. Декларишь - работает, а подцепить как референс нельзя (те же функции из kernel32, к примеру).

Спасибо, Акина, это твое последнее замечание поставило все на место. Объявление поместил в стандартный модуль, обращение в процедуру формы и все заработало.  
   Хочу вставить свои три копейки для таких же как я не имеющих знаний, чтобы порт LPT заработал на ввод/вывод из вашей программы
   в BIOSе зайдите в настройки периферии для параллельного порта поставьте - Enabled, Mode -EPP, Base I/O Address - 378, Interrupt - IRQ7
Может это кому нибудь поможет. 
PM MAIL   Вверх
Google
  Дата 18.2.2020, 14:06 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.