- 浏览: 1470034 次
-
最新评论
-
netkongjian:
欢迎加入程序员网址导航[deyi]
准备做一个技术网址导航,请大家分享自己喜欢的技术网站 -
leixiaohua1020:
这个写的很详细
ffmpeg源码分析之媒体打开过程 -
chenmo20074639:
我想仔细问一下,在MAC地址老化的情况下,而计算机的ARP高速 ...
交换机二层地址表和老化时间 -
留下的祝福:
要是多有点注释就好了
sql server批量插入与更新两种解决方案 -
yw123456:
你应该有丰富开发经验吧。
一个月掌握VC++2010
文章列表
实战:
创建一个VB.NET Windows应用程序:VBTestDynamicComponent。将前面介绍的两个类ComponentList和LoadComponent加入到工程中。
我们在程序启动时从配置文件中读入相关的程序集信息和类名信息,为此在主窗体的Form_Load过程中添加以下代码:
01 Private objLoadComponent As LoadComponent
02 Private VBObj As Object
03 Private ComponentReader As MyComponentList
04
05 Private Sub VBT ...
- 2004-12-20 23:24
- 浏览 869
- 评论(0)
设计示例用到的组件
创建两个VB.NET类库工程:DynamicComponent和VBDynamicComponent2,分别创建两个窗体VBForm1和VBForm2(如图6图7所示),前者放在DynamicComponent工程中,后者放在VBDynamicComponent2工程中。
分别编译生成两个DLL文件:DynamicComponent.dll和VBDynamicComponent2.dll。
接着,我们创建一个Windows应用程序VBTestDynamicComponent用于测试我们的组件装配技术。
读取XML配置文件
在测试程序启动时,它从XML配置文件 ...
- 2004-12-20 23:19
- 浏览 897
- 评论(0)
动态组件插拔
在实现动态组件插拔之前,我们必须了解一个概念:反射(Reflection)。
所谓反射,就是仅依据名字来创建一个对象。
举个例子,在上面的例子中,我可以直接给定一个字串:“ CSharpClassNameSpace.CSharpRect”,然后我就可以生成这个对象,并调用它的Area()方法求面积!其前提条件是程序能访问存放这些类的DLL文件。
好了,现在可以说说我们的构想了:
我们把某个程序要用到的DLL和其中的类名放在一个配置文件中,程序启动时读取这个文件,就可以自动地加载外部指定的DLL,实现程序的组件动态装配。当我需要更换程序中的某个组件时,我只需要将新 ...
- 2004-12-20 23:13
- 浏览 975
- 评论(0)
组件的继承
前面实现的将C#组件组合进VB工程中只是牛刀小试,现在我们来实现混合语言的面向对象编程(OOP),首先,我们来尝试一下混合语言组件的继承。
新建一个VB类库工程VBComponent,在工程中按上面的方法添加对CSharpClass.dll组件的引用,然后组件中增加一个新类:ExtendsFromCSharp,它继承自C#类CSharpClass,ExtendsFromCSharp类提供一个Add(x,y)方法,将两数相加,用UML表示如图4:
<shapetype id="_x0000_t75" stroked="f" fil ...
- 2004-12-20 23:10
- 浏览 925
- 评论(0)
基于组件的.NET软件开发
前言
随着软件技术的飞速进步,现代的大型软件都广泛采用了基于软件组件的开发方式。以成熟的CBD(Component Based Design:基于组件的系统设计)理论为指导,在对系统的分析与设计完成之后,系统开 ...
- 2004-12-20 23:04
- 浏览 943
- 评论(0)
《CSDN开发高手》从2003年9月创刊,到2004年12月停刊,一共出版了16期,而我作为《CSDN开发高手》的一名技术编辑,参与其中14期的编辑工作。不知不觉之中,对这个杂志已生出了感情,但最终还是只能带着一丝遗憾的结束。 回顾 ...
- 2004-12-13 12:03
- 浏览 852
- 评论(0)
软件教育杂感
我是一个从自学路上走过来的高校计算机专业教师,对计算机技术的热爱支持我走完了这条漫长的长达数年的自学之路,出于理智的思索,我又脱离了职业程序员的道路,迈入了教师的行列,走上讲台也已将近两 ...
- 2004-12-07 16:53
- 浏览 871
- 评论(0)
灵活运用面向对象的思想在BCB5中进行高效编程
注:这篇文章是2001年写的,当时正初涉OO。面向对象的开发方法已成为目前软件开发的主流,其技术已日趋成熟,但许多的程序员仍然习惯于过程式的编程方式,这有许多原因, ...
- 2004-12-07 16:49
- 浏览 972
- 评论(0)
二、由程序员用new的方法创建的窗体事件驱动链
在程序中无数次地见到过以下代码:
TfrmConstant *pForm=new TfrmConstant(this); //创建一个窗体
pForm->Show();
……
delete pForm;
我们经常需要动态创建一个Form,再显示它,然后在 ...
- 2001-11-05 23:08
- 浏览 1204
- 评论(0)
Effective BCB Form Program
——窗体事件驱动链引发程序错误分析
BCB中采用的类库是VCL,其编程框架是事件驱动的,类似于VB。我在开发过程中发现,如果不对BCB的事件驱动链进行分析,写的程序会带有很多的错误,健壮性很成问题,而且调试很麻烦。
我发现程序中的很多错误都来源于C++的指针操作。在程序中用new的方法创建了一个对象,然后delete这个对象之后,如果此时还有其它指针指向这个对象,访问此对象信息的代码必定会引发异常。这在C++中是常识性的问题。但这个问题在BCB这类事件驱动的开发环境中就复杂化了。由于事件模型其实是对Windows消息循环机制的一个封 ...
- 2001-11-05 23:06
- 浏览 1118
- 评论(0)