当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .net App中集成COM组件的一些简单技巧

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

ASP.NET 中的 .net App中集成COM组件的一些简单技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 77 ::
收藏到网摘: n/a

上次在blog给出了一个简单的调用fastReport组件的小示例,也许有些同学恰巧也在应用FR做报表,不知道大家经历后的感觉如何?

这里我就不抄袭某些权威的关于com的介绍了,如果你完全的不明白,这篇文章不适合你。

先谈一下我对FR的感受,FR源于1997一个俄罗斯人的不经意间的一个决定,他在delphi编程中发现没有一个报表系统可以满足他当时的需要,于是就打算亲手做一个。在98年作者的想做一个快速响应,简单的,支持脚本的报表系统有了正式的命名。作者凭借着很强的ole操作技巧很快的把FR变成了delphi中间使用率很高的报表组件。个人不喜欢pascal语言,自然的就不喜欢delphi,我对FR的景仰完全的是因为作者是一个俄罗斯的程序员,并且FR体现的理念很独到,另外小巧的组件大小也是作者自豪的地方。我这次公开的demo中包含的是FR3.0系列的COM专用组件。我在它的论坛了解到4.0会有部分不兼容3.0并且在报表定义上有些分歧,当然也多了一些功能。

在.net调用com本身是一件很容易的事情,但是有很多技巧需要把握。如果仔细观察demo你会发觉一点,这也是我想和大家分享的地方,因为本篇以FR为例但是不局限于FR,我对FR的了解大致是通透的一份programmers manual和5分钟的user manual跳读,我还没有用FR做过一份业务上的模版,所以一些问题我可能也说不上,据我的同事们说在不同的操作系统中可能会有些细小的bug,所以我推荐用户环境是xp。

中午花了点时间准备,下面就是成果了 :P

以下为引用的内容:
   FastReportService.Instance.ShowDesigner(delegate(TfrxReport report) { report.MainWindowHandle = (int)this.Handle; },
   null, GetDataSource(), null, String.Format("{0}\\Simple list.fr3", Application.StartupPath), null);
  
   FastReportService.Instance.ShowReport(null, null, GetDataSource(), true, false, null,
   String.Format("{0}\\Simple list.fr3", Application.StartupPath));
  
   FastReportService.Instance.ShowDesigner((int)this.Handle, GetDataSource());

这是demo中的片断,你可以看到,封装后的.net调用足够的简单。这是常见的三个场景用例。

service.CustomRegSvr = true;

这个开关显示着一个com免部署的方法。要看效果直接运行FRDemo.exe。我希望可以有些惊奇。

这个demo依赖两个程序集,分别是frlib.dll和RegSvrEx.dll。给公司的版本是签名的,我给出没有签名的版本,请合理使用。