Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


VB6 и DLL модулей LTR. как прикрутить???

Вы не вошли.

 Поиск | Регистрация | Вход 

AlexZ
29.08.2013 09:13:17
#1

Гость

VB6 и DLL модулей LTR. как прикрутить???

Добрый день!
Помогите гОрю! Управляющая программа на VB6 (другого НЕ ДАНО!). Крейт LTR-EU-8-1 с различными модулями. В папках идущего с ним ПО есть DLL, но они для С++.
1. Где взять DLL, оформленные как API?
Чтобы подключить к проекту, декларировать функции внешней библиотеки  и вызывать как это обычно делается с функциями WinAPI?
2. Можно ли видоизменить исходные тексты библиотек и скомпилировать их заново с нужным оформлением? Что и как делать?

Очень надеюсь на понимание и помощь!

29.08.2013 09:55:25
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,338

Re: VB6 и DLL модулей LTR. как прикрутить???

Здравствуйте.
Исходя из http://msdn.microsoft.com/ru-ru/library/dt232c9t.aspx, предоставляемые L-Card dll (которые Вы можете скачать по адресу http://www.lcard.ru/download/ltrdll.exe) уже подходят для использования их из VB6.

Соответственно, Вам нужно будет константы, структуры и функции из ltrapi.h, ltrapidefine.h, ltrapitypes.h и ltrXXXapi.h (где XXX – соответствует используемому Вами модулю LTR) объявить в VB6, чтобы использовать функции соответствующих .dll (например, об этом написано в разделе b в этой статье http://support.microsoft.com/kb/106553/ru).

Артём
15.04.2014 10:48:45
#3

Гость

Re: VB6 и DLL модулей LTR. как прикрутить???

Уважаемый LCARD обьясните концепцию подключения и работы c "lcomp.dll" и "wlcomp.dll" на VB6.0 под XP с платой L780M, т.к. пример на CD(VB6.0)не работает с "vxdapi".

15.04.2014 12:45:04
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: VB6 и DLL модулей LTR. как прикрутить???

это будет непросто. Штатно не поставляются заголовочные файлы для VB. Их придется писать самому на основе С++ файлов.

Артём
15.04.2014 13:47:32
#5

Гость

Re: VB6 и DLL модулей LTR. как прикрутить???

Если я правильно понял то,нужно собрать DLL из файлов на С++ из CD,а файлы на Delphi из CD подойдут?

Артём
15.04.2014 14:45:17
#6

Гость

Re: VB6 и DLL модулей LTR. как прикрутить???

Или нужно переводить модульные файлы с С++ на VB6 и подключать к проекту + подключить lcomp.dll ?

15.04.2014 14:46:02
#7

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: VB6 и DLL модулей LTR. как прикрутить???

Артём, файлы DLL можно взять как есть бинарные, ничего не собирать, а вот интерфейс надо будет переписать на основе .h файлов.

Посмотрите ссылку, которую выше давал Алексей.

В общих чертах: функции, импортируемые из DLL, надо описать через declare function. Константы, структуры и типы надо описать в соответствии с синтаксисом VB, при этом обязательно уделив внимание выравниванию структур и размеру типов, чтобы описания на VB ложились байт в байт на бинарные данные, которыми оперирует DLL.

Наверное, проще использовать wlcomp, там функции экспортируются статически, а не через класс с виртуальными методами. Меньше шансов ошибиться.

Артём
15.04.2014 19:05:08
#8

Гость

Re: VB6 и DLL модулей LTR. как прикрутить???

Уважаемая техподдержка помогите строчками переписанными на основе h файла,науровне декларирования функций и типов данных,хотяб несколько функций из wlcomp

17.04.2014 14:18:40
#9

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: VB6 и DLL модулей LTR. как прикрутить???

Ну что-то типа

Declare Function StartLDevice Lib "wlcomp.dll" (ByRef hIfc as Long) as Long;

А структуры, вероятно, придется разбирать руками как массивы байт, потому что чудо-Бейсик вроде бы не поддерживает управление выравниванием полей и всегда начинает члены Type...End Type со смещения, кратного 4. Если, конечно, я правильно понял, что пишут.
Типы данных для разных VB различаются! Для VB6, если я правильно понял, тут: http://msdn.microsoft.com/en-us/library … 60%29.aspx