关于第三方dll,ocx开发的思考
A问题:
最近有个工作,要集成一套老的指纹考勤机器到现在考勤系统(web系统)中,问题出现时老的机器只有ocx可用,没有可用的dll;原本以为简单的第三方调用就ok了,可是ocx不能被承载,在实现上费劲了。
B分析:
1、原始开发人员,提供一套可直接调用的dll供调用;(太老了,都没有人了,代码也没有,更别说文档了)
2、javascript与ocx交互,完成功能;(程序改动比较大,与网站后台交互部分数据库存取不能很好地交互;另外稳定相也不是很好)
3、winform桥接;(相当于多了个管道效果,间接完成机器交互操作)
C解决:
最少改动原则,程序稳定性原则,最后参考了一个老系统思路(桥接),用winform程序承载ocx完成机器的交互,通过socket与web程序交互。
相对来说稳定相还是很好地。
考虑到机器交互部分不会很频繁,并且使用了断开时请求,针对每次的请求都单开socket client通信,完成及时关闭。所以,采取了单独的ocx实例,没有多开支持并发问题。
满足需求就足够了。其他另算!哈哈哈
D总结:(项目积累)
1、文档很重要;(开发人员不愿意写文档,但是当真正用上文档时候却一筹莫展)
2、源码很重要;任何不明白的东西,都可以在代码里面找到答案。(不然,就只能反编译,或者反汇编了。如此就彻底费功夫了)
3、Demo很重要;一图胜过千言万语,在程序这里就是一Demo胜过千言万语。
关于第三方dll,ocx开发的思考的更多相关文章
- Dll,OCX控件的注册(转)
原文地址:http://home.51.com/heiyijiushi/diary/item/10053693.html C#自动实现Dll(OCX)控件注册的两种方法2012-07-31 21:20 ...
- ASP.NET CORE MVC 2.0 项目中引用第三方DLL报错的解决办法 - InvalidOperationException: Cannot find compilation library location for package
目前在学习ASP.NET CORE MVC中,今天看到微软在ASP.NET CORE MVC 2.0中又恢复了允许开发人员引用第三方DLL程序集的功能,感到甚是高兴!于是我急忙写了个Demo想试试,我 ...
- Java调用第三方dll文件的使用方法 System.load()或System.loadLibrary()
Java调用第三方dll文件的使用方法 public class OtherAdapter { static { //System.loadLibrary("Connector") ...
- Java调用C/C++编写的第三方dll动态链接库(zz)
这里主要用的方法是JNI.在网上查资料时看到很多人说用JNI非常的复杂,不仅要看很多的文档,而且要非常熟悉C/C++编程.恐怕有很多人在看到诸如此类的评论时已经决定绕道用其他方法了.本文将做详细的介绍 ...
- C# 调用第三方DLL完整实例
C# 调用第三方DLL完整实例 分类: C/C++ 以下代码为本人在实际项目中编写的调用第三方DLL接口程序的完整代码. public class ExecuteDLL : Form { ...//忽 ...
- C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统
itextsharp.dll,是一个开源的在C#中用来生成PDF文档的库文件,不少C#爱好者用它制作出了PDF文档生成器.使用时只需在你的C#项目中添加引入此组件即可,使用方法网上有很多,自己查阅一下 ...
- 引用第三方dll引发的问题解决
引用的程序集错误 如果引用第三方dll,调试出现引用的程序集出现错误,可以下载dependency,查看这个dll的依赖dll,如果本地电脑没有依赖dll或依赖dll出现问题,则下载或取代依赖dll ...
- C# 调用第三方DLL z
http://blog.163.com/da7_1@126/blog/static/104072678201311721326318/ 以下代码为本人在实际项目中编写的调用第三方DLL接口程序的完整代 ...
- C# 调用第三方DLL缓冲区溢出导致的异常
这个倒是少见的错误,纪录一下大佬. 先上异常 错误一:尝试读取或写入受保护的内存 错误二:未将对象引用设置到对象的实例 错误三: 托管调试助手“FatalExecutionEngineError”( ...
随机推荐
- hdu1054
/* [题意] 给定一棵树,标记一节点,则与该节点所连的边都被标记,问最少需要标记多少个节点使得所有边都被标记: 或者说给定一个树型城堡,在交叉路口放一个士兵,则与该路口相连的路都被守住, 问最少需要 ...
- HDU 3400 Line belt (三分嵌套)
题目链接 Line belt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Sharding-JDBC 使用入门和基本配置
一.什么是Sharding-JDBC Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务.它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理 ...
- Codeforces Round #558 (Div. 2)B(SET,模拟)
#include<bits/stdc++.h>using namespace std;int a[100007];int cnt[100007];int main(){ int n; ...
- 遍历json字符串 并 写入对应的文本框
1.js代码: function getFlws(){ var url = urlpath + "bhjk/getJson2.sd?"; $.post(url,function(d ...
- Unity---遇到的一些坑和解决方案
目录 1.在UGUI中的物体顺时针旋转Z是负的.(和正常3D中是相反的) 2.MoveTowards()+Vector3.Distance()控制物体的移动 3.trtransform.SetPare ...
- 我的省选 Day -9
Day -9 不知不觉,日子已经变成一位数了,已经到了最后关头了. 早上班主任在上数学课时告诉我们,高校自招的降分政策已经没有以前那么优惠了(这我知道啊) 于是老师间接的暗示了奥赛如果没拿到省一就没什 ...
- EcmaScript源码
/** @type {Number} @const */ NaN = 0; /** @type {Number} */ Infinity = 0; undefined = 0; /** @param ...
- gulp前端自动化构建工具
博主不易,不求赞赏,希望把自己遇到的难点写出来,以及希望自己能有能力写出一篇不错的博文. 前端构建工具本人 bootstrap+jquery用gulp vue+element 用webpack 引文 ...
- spring boot与 spring.factories
spring boot启动加载过程 META-INF下面的spring.factories 解析@Configuration https://www.jianshu.com/p/346cac67bfc ...