`
wodamazi
  • 浏览: 1417572 次
文章分类
社区版块
存档分类
最新评论
文章列表
实战: 创建一个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 ...
设计示例用到的组件 创建两个VB.NET类库工程:DynamicComponent和VBDynamicComponent2,分别创建两个窗体VBForm1和VBForm2(如图6图7所示),前者放在DynamicComponent工程中,后者放在VBDynamicComponent2工程中。 分别编译生成两个DLL文件:DynamicComponent.dll和VBDynamicComponent2.dll。 接着,我们创建一个Windows应用程序VBTestDynamicComponent用于测试我们的组件装配技术。 读取XML配置文件 在测试程序启动时,它从XML配置文件 ...
动态组件插拔 在实现动态组件插拔之前,我们必须了解一个概念:反射(Reflection)。 所谓反射,就是仅依据名字来创建一个对象。 举个例子,在上面的例子中,我可以直接给定一个字串:“ CSharpClassNameSpace.CSharpRect”,然后我就可以生成这个对象,并调用它的Area()方法求面积!其前提条件是程序能访问存放这些类的DLL文件。 好了,现在可以说说我们的构想了: 我们把某个程序要用到的DLL和其中的类名放在一个配置文件中,程序启动时读取这个文件,就可以自动地加载外部指定的DLL,实现程序的组件动态装配。当我需要更换程序中的某个组件时,我只需要将新 ...
组件的继承 前面实现的将C#组件组合进VB工程中只是牛刀小试,现在我们来实现混合语言的面向对象编程(OOP),首先,我们来尝试一下混合语言组件的继承。 新建一个VB类库工程VBComponent,在工程中按上面的方法添加对CSharpClass.dll组件的引用,然后组件中增加一个新类:ExtendsFromCSharp,它继承自C#类CSharpClass,ExtendsFromCSharp类提供一个Add(x,y)方法,将两数相加,用UML表示如图4: <shapetype id="_x0000_t75" stroked="f" fil ...
基于组件的.NET软件开发 前言 随着软件技术的飞速进步,现代的大型软件都广泛采用了基于软件组件的开发方式。以成熟的CBD(Component Based Design:基于组件的系统设计)理论为指导,在对系统的分析与设计完成之后,系统开 ...
《CSDN开发高手》从2003年9月创刊,到2004年12月停刊,一共出版了16期,而我作为《CSDN开发高手》的一名技术编辑,参与其中14期的编辑工作。不知不觉之中,对这个杂志已生出了感情,但最终还是只能带着一丝遗憾的结束。 回顾 ...
软件教育杂感 我是一个从自学路上走过来的高校计算机专业教师,对计算机技术的热爱支持我走完了这条漫长的长达数年的自学之路,出于理智的思索,我又脱离了职业程序员的道路,迈入了教师的行列,走上讲台也已将近两 ...
灵活运用面向对象的思想在BCB5中进行高效编程 注:这篇文章是2001年写的,当时正初涉OO。面向对象的开发方法已成为目前软件开发的主流,其技术已日趋成熟,但许多的程序员仍然习惯于过程式的编程方式,这有许多原因, ...
二、由程序员用new的方法创建的窗体事件驱动链 在程序中无数次地见到过以下代码: TfrmConstant *pForm=new TfrmConstant(this); //创建一个窗体 pForm->Show(); …… delete pForm; 我们经常需要动态创建一个Form,再显示它,然后在 ...
Effective BCB Form Program ——窗体事件驱动链引发程序错误分析 BCB中采用的类库是VCL,其编程框架是事件驱动的,类似于VB。我在开发过程中发现,如果不对BCB的事件驱动链进行分析,写的程序会带有很多的错误,健壮性很成问题,而且调试很麻烦。 我发现程序中的很多错误都来源于C++的指针操作。在程序中用new的方法创建了一个对象,然后delete这个对象之后,如果此时还有其它指针指向这个对象,访问此对象信息的代码必定会引发异常。这在C++中是常识性的问题。但这个问题在BCB这类事件驱动的开发环境中就复杂化了。由于事件模型其实是对Windows消息循环机制的一个封 ...
Global site tag (gtag.js) - Google Analytics