Как подключить к 1С 8.1 подключить библиотеку стороннего производителя (*.dll) #450706


#0 by AlexanderShevchuck
Есть ли возможность подключить к 1С 8.1 подключить библиотеку стороннего производителя (*.dll), которая не разрабатывалась как внешняя компонента для 1С.
#1 by Salvador Limones
Да, есть.
#2 by AlexanderShevchuck
Подскажите, пожалуйста, какие механизмы нужно использовать
#3 by Salvador Limones
Сначала зарегать, потом через Новый COMОбъект заюзать.
#4 by AlexanderShevchuck
Спасибо попробую
#5 by Gepard
это если библиотека писалась как COM объект
#6 by AlexanderShevchuck
Не регистрируется, библиотека называется Ekomilk11.dll, поместил я ее на диск С в корень, пробую регистрировать через RegSRV32 (пуск -> выпонить -> Regsvr32 /i c:Ekomilk11.dll), Regsvr32 возвращает такое вот ругательство : c:Ekomilk11.dll была загружена, но найти точку входа для DllRegisterServer не удалось.  Зарегистрировать этот файл невозможно. А можно ли подключить библиотеку без регистрации
#7 by ДенисЧ
твоя библиотека не работает com-объектом. Так что в /dev/nul её :-)
#8 by Salvador Limones
Нет. Значит не судьба. См
#9 by AlexanderShevchuck
у меня есть пример ее использования на Delphi, может он прольет свет?
#10 by H A D G E H O G s
Могу написать COM или ВК (мне без разницы) оболочку. За небольшие деньги.
#11 by H A D G E H O G s
ООо, тем более есть пример на моем любимом Дельфи. Еще и быстро сделаю.
#12 by AlexanderShevchuck
uses {IFNDEF Ekomilk11} {определяем функции определенные в Ecomilk11.dll} {Все ф-ии и процедуры необходимо загружать только 1 раз} {инициализация ресурсов DLL.} function Init(AHandle: THandle; ACaption: String): Longint; StdCall; {инициализация COM-порта с использованием функции обратного вызова} procedure ConnectPort(AHandle: THandle; Port,Param: word; Point:Pointer; AProc: TFarProc); StdCall; {освобождение ресурсов DLL} {ENDIF} implementation {IFNDEF Ekomilk11} {определяем импортированные функции} {Определяем процедуру, обратного вызова с использованием param:=TSpinEdit(FindComponent('SpinEdit'+(Sender as TButton).name[7])).Value; with Sender as TButton do begin TSpinEdit(FindComponent('SpinEdit'+(Sender as TButton).name[7])).Visible:=false; end; begin {инициализация ресурсов DLL.} procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin SpinEdit1.Text; {with Sender as TSpinEdit do if Value>MaxValue then Value:=MaxValue else  if Value<MinValue then   Value:=MinValue;} end; end.
#13 by H A D G E H O G s
см
#14 by H A D G E H O G s
#15 by AlexanderShevchuck
проблема в том, что *.dll купленая :)
#16 by AlexanderShevchuck
проблема состоит в том, что продавец прибора никак не хочет сообщать каким образом можно поймать данные с прибора, говорят, что это закрытая информация, предлагают покупать или их прогу или библиотеку
#17 by H A D G E H O G s
аську свою кинь
#18 by AlexanderShevchuck
224-954-187
#19 by H A D G E H O G s
иии, желательно, зайди в нее.
#20 by H A D G E H O G s
Отвалилась аська Пишет: "Ошибка резервной линковки." Жду.
#21 by kolpak
Может это поможет Библиотека dynwrap.dll - небольшой ActiveX, который может быть использован в любых средах, которые в состоянии выступить в роли OLE-клиента, например, в MS Office (VBA), 1C:Предприятии, административных скриптах Windows (.vbs и .js) и т.д. Библиотека является результатом труда нескольких разработчиков. Библиотека dynwrap.dll распространяется свободно.Библиотека обеспечивает подобие инструкции "Declare" в VBScript. Это позволяет вызывать произвольные функции из DLL-библиотек (например, win32 функции API).
#22 by v8Newbie
ПоХляди...
#23 by AlexanderShevchuck
Спасибо, попробую
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С