На главную страницу Версия-Т
VTSoft.ru

Chon100k.dll и MS Access


RSS
Chon100k.dll и MS Access
 
На форуме эта тема уже затрагивалась, но администрация рассылал примеры на мыло, поэтому решения я так и не увидел

При вызове из Access
Private Declare Function ConnectKKM Lib "Chon100K.dll" (Port As Long) As Long
Private Declare Sub SetSupplierCode Lib "Chon100K.dll" (ByVal idKKM As String)

Private Sub Button3_Click()

Dim strCon As String
Dim lPort As Long

strCon = "08011141"
lPort = 1
SetSupplierCode strCon
ConnectKKM lPort

End Sub

Access "падает"
Помогите! Заранее благодарен!
 
Вероятнее всего, что проблема связана с неправильным объявлением функции ConnectKKM. В VBA по умолчанию параметр во внешнюю функцию передается по ссылке, а функция ConnectKKM принимает 4-байтовое целое значение номера порта. В Вашем случае в функцию передается не значение номера порта, а адрес переменной, в которой это значение храниться.

Попробуйте явно указать передачу параметра по значению, т.е.

Private Declare Function ConnectKKM Lib "Chon100K.dll" (ByVal Port As Long) As Long
 
Голова моя садовая!! Спасибо!!!!!, но все равно придется писать COM для вашей библиотеки что б с 1С работала
 
Не за что :). Для 1С есть готовая компонента. Свою обвязку вокруг chon100k.dll имеет смысл писать только если Вы решили сэкономить на разнице стоимости этих программных продуктов.
 
На написание уйдет несколько часов(опыт уже есть), да к тому же "своя рубашка ближе к телу"