При создании внешней компоненты использовались материалы:
ВК NativeAPI на Delphi и FreePascal (автор: Александр Соломатин ) и ВК для 1С:Предприятие 8.2 NativeAPI на Delphi (автор: Андрей Акулов).
Работа сервера организована на неблокируемых сокетах winsock.
Компонента имеет 2 свойства:
- Порт — собственно сам порт, который будем прослушивать
- Таймаут — таймаут отключения бездействующих сессий (в секундах)
и 2 функции:
- Слушать() — начинает слушать указанный порт. Полученные данные компонента возвращает в виде строки во Внешнее событие 1С.
- Отключиться() — обрывает все существующие соединения и отключает прослушивание.
Критика приветствуется, но ногами сильно не пинать, т.к. это по сути первый опыт создания как самих внешних компонент, так и работы в Delphi 🙂
SocketVK.epf — пример работы компоненты. Обработка запускает сам сервер, событие на порт генерируйте любым другим приложением.
Source.rar — Исходники.
Подписался
Да, велосипеды с квадратными колесами. Всего лишь нужно подключить .NET по методу Сергея Смирнова и вся мощь .NET к твоим ногам и не надо будет на каждый чих делать ВК.
Спасибо Олег!
Использование ТСД на WM 6 как беспроводной сканер с получением данных из 1С
Добавлю ссылочки кому интересно
(2) oleg_km, (3) Serginio, несомненно, .NET — мощная вещь, но один минус — необходимость регистрации DLL с правами администратора.
Необходимо было обойтись без этого 🙂
(4) Если ты посмотришь на вторую ссылку то там кроссплатформенный .Net Native.
Ну а так нужно зарегистрировать всего одну библиотеку.
Кстати про регистрацию без прав администратораРегистрация ActiveX-DLL без прав администратора (UAC включен)
Можно выгрузить нужную ветку и заменить HKEY_LOCAL_MACHINE на HKEY_CURRENT_USER