【转】C#开发ActiveX可行性研究

简介: 由于公司需要开发WEB打印模块,而且打印模块又比较复杂,要让用户自己能设计摸板,能控制格式,想来想去 只能用ActiveX才能实现,期间鄙人也研究了水晶报表,鄙人总结出来一条,水晶报表做报表行,但是如果要想做帐单的打印,还是不行的,第一就是 效率不行,第二就是格式控制能力不强,不过效率问题,鄙人后...

由于公司需要开发WEB打印模块,而且打印模块又比较复杂,要让用户自己能设计摸板,能控制格式,想来想去

只能用ActiveX才能实现,期间鄙人也研究了水晶报表,鄙人总结出来一条,水晶报表做报表行,但是如果要想做帐单的打印,还是不行的,第一就是 效率不行,第二就是格式控制能力不强,不过效率问题,鄙人后面也差不多解决了,具体解决方法鄙人计划在下一篇博客里写出来,还包括自定义报表传入参数的问 题鄙人也解决了,最后为了能方便客户鄙人研究了ActiveX(因为我们公司做的是产品,所以东西不做到好用不行).

本来我是想用VC++开发ActiveX怎奈技术有限,想实现VC++ 和服务器交互还有一定难度,而且也没办法实现打印,所以转到了C#下面开发.

开发ActiveX主要还是在CNBLOGS里找了篇文章比较受益,红马的使用C#开发ActivX系列,照着文章把算是打印模块也开发完毕了,期间为实现了JS掉用Activx也测试了无数次,最后还是跌跌撞撞做好了.

http://www.cnblogs.com/homer/archive/2005/01/04/86473.html

http://www.cnblogs.com/homer/archive/2005/01/08/88780.html

http://www.cnblogs.com/homer/archive/2005/01/26/97822.html

后面又要开发身份证扫描必须得用ActivX调用JS,后面又找了这篇文章,按这位老兄的方法也实现了.

http://www.cnblogs.com/xiaoshatian/archive/2008/09/02/1281786.html

还要注意一点IE7下如果你写的ActiveX用不了,不是因为你写的程序有问题,而是一个安全设置的问题,我也是研究了很久,具体哪个设置我一下忘记了,因为我的IE换成IE6了,明天装IE7了再告诉大家.

不过最后我也总结出来了,用C#开发ActiveX是可以的,唯一的遗憾就是要装.NET,不过其实也是可以不装的,我也发行了两个版本,一个是不 用装,一个是要装的,不用装的用飞信脱,但用了飞信脱后安装包太大了,建议还是就装下.NET吧,毕竟现在也快普及.NET了,如果大家还有不用飞信脱来 实现不装.net的方法请告之.

还有,其实ActiveX还可以实现一些JS没办法实现的功能,比如PUSH模式,我就用C#实现了一个PUSH模式,让C#和服务交互,然后当数 据有改变时,就用C#调用JS的方法,这样就不用老是一直请求了.其实还可以用FLASH来实现的,但是我对AS脚本不熟悉,我一个朋友对这方面有些研 究,如果大家有需要了解的话,我帮大家请教下我朋友.

再就是鄙人研究了 IHTMLDocument IHTMLDocument2 IHTMLDocument3 正计划写个用C#来操作HTML的ACTIVEX,也许用C#操作HTML比JS的效率高而且还不会有内存泄露问题,不过还没测试,现在完全还是构思中,摆在眼前还有个最大的问题!

就是鄙人一直还不知道怎么调试ActiveX的,忘记大家有知道的,请告之.谢谢!

还有鄙人这次也算是做了个大项目,也是我设计的,我也是开发主力,公司不大,也总结了很多经验,今后我会一一写出来.也希望大家能多多发表自己的经验,谢谢!

 最后再罗嗦一句,代码由于商业机密问题,鄙人不能贴出来,如果大家实在需要留下EMAIL我会发给大家!

再提醒下大家! 如果有知道怎么调式ActivX的,麻烦您请告之,谢谢了!

目录
相关文章
|
7天前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
41 12
|
2月前
|
前端开发 JavaScript 安全
C#一分钟浅谈:Blazor WebAssembly 开发
Blazor WebAssembly 是一个客户端框架,允许开发者使用C#和Razor语法构建Web应用。本文介绍了Blazor WebAssembly的基本概念、常见问题及解决方案,包括路由配置、数据绑定、异步操作、状态管理和性能优化等方面的内容,并分享了一些易错点及如何避免的方法。希望这些内容能帮助你在Blazor WebAssembly开发中少走弯路,提高开发效率。
118 51
|
2月前
|
开发框架 缓存 .NET
C# 一分钟浅谈:Blazor Server 端开发
Blazor Server 是基于 ASP.NET Core 的框架,允许使用 C# 和 Razor 语法构建交互式 Web 应用。本文介绍 Blazor Server 的基本概念、快速入门、常见问题及解决方案,帮助开发者快速上手。涵盖创建应用、基本组件、数据绑定、状态管理、跨组件通信、错误处理和性能优化等内容。
57 1
|
2月前
|
缓存 C# 开发者
C# 一分钟浅谈:Blazor Server 端开发
本文介绍了 Blazor Server,一种基于 .NET 的 Web 开发模型,允许使用 C# 和 Razor 语法构建交互式 Web 应用。文章从基础概念、创建应用、常见问题及解决方案、易错点及避免方法等方面详细讲解,帮助开发者快速上手并提高开发效率。
67 2
|
2月前
|
测试技术 Go C#
C#一分钟浅谈:ReSharper 插件增强开发效率
【10月更文挑战第25天】ReSharper 是 JetBrains 开发的一款 Visual Studio 插件,旨在提高 .NET 开发者的生产力。它通过代码分析、重构、导航等功能,帮助开发者避免常见错误,提升代码质量和开发效率。本文将通过具体代码案例,详细介绍 ReSharper 的常见功能及其应用。
51 1
|
2月前
|
C# Python
使用wxpython开发跨平台桌面应用,对wxpython控件实现类似C#扩展函数处理的探究
【10月更文挑战第30天】使用 `wxPython` 开发跨平台桌面应用时,可以通过创建辅助类来模拟 C# 扩展函数的功能。具体步骤包括:1. 创建辅助类 `WxWidgetHelpers`;2. 在该类中定义静态方法,如 `set_button_color`;3. 在应用中调用这些方法。这种方法提高了代码的可读性和可维护性,无需修改 `wxPython` 库即可为控件添加自定义功能。但需要注意显式调用方法和避免命名冲突。
|
3月前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
45 1
|
2月前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
42 3
|
14天前
|
存储 安全 编译器
学懂C#编程:属性(Property)的概念定义及使用详解
通过深入理解和使用C#的属性,可以编写更清晰、简洁和高效的代码,为开发高质量的应用程序奠定基础。
62 12
|
2月前
|
设计模式 C# 图形学
Unity 游戏引擎 C# 编程:一分钟浅谈
本文介绍了在 Unity 游戏开发中使用 C# 的基础知识和常见问题。从 `MonoBehavior` 类的基础用法,到变量和属性的管理,再到空引用异常、资源管理和性能优化等常见问题的解决方法。文章还探讨了单例模式、事件系统和数据持久化等高级话题,旨在帮助开发者避免常见错误,提升游戏开发效率。
68 4