• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Visual Basic COM基础讲座之类的建立

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

   
  在本节中,我们来实践一下。首先创建一个COM对象,然后使用它,最后再想法改进。

   首先进行下面两步:

   运行Visual Basic;选择 "Standard EXE"工程类型;由于COM对象是基于类的,而类实际上是程序包,就像模块中的代码一样。所以:


   选择"Project"->"Add Class Module";当相应的对话框出现后,选择"'Class Module",然后单击"Open"按钮。

   这样,在桌面上显示一个表单,以及包含在工程Project1中的Class1。

   下面再将空的类的类名更改:

   在类的属性窗口中,将类的Name属性改成CDog。

   需要说明的是,为了区别起见,每个对象名的前面都有相应的前缀,例如Text Box对象前是"txt"、Form前是"frm"、类前可以大写字母"C"或小写字母"cls",但这里使用前者。

   下面我们添加一些代码来测试一下:

   在CDog类通用声明部分中,添加变量的声明:

Public Name As String

   然后,打开Form1;

   在表单中添加一个命令按钮;

   打开代码窗口,为该命令按钮添加下列代码:

  Dim MyDog As CDog
   Set MyDog = New CDog
   MyDog.Name = "Billy Moore"
   MsgBox MyDog.Name
   Set MyDog = Nothing

   下面就来解释上述代码的含义:

Dim MyDog As CDog

   该行语句是用来通知Visual Basic为CDog对象设置一个位空间,但这时还不能使用该对象,必须等到下条语句为止:

  Set MyDog = New CDog

   它是用来创建CDog的实例。这就意味着前面空的MyDog模板变成了现在可以使用的CDog对象。

  MyDog.Name = "Billy Moore"
   MsgBox MyDog.Name

   上述代码的第一行是用来设置MyDog的Name变量,同时第二行语句是用来将该变量的内容显示在消息对话框中。最后:

  Set MyDog = Nothing

   用来将MyDog对象简单的置空。

   按F5键运行并测试。

   怎么样?但同时,我们可能不禁要问,标准模块和类模块究竟有什么不同?我们再来看看下面的示例:

   将命令按钮的代码变成:

  Dim MyDog As CDog
   Set MyDog = New CDog
   Dim MyDog2 As CDog
   Set MyDog2 = New CDog
   MyDog.Name = "Billy Moore"
   MsgBox MyDog.Name
   MyDog2.Name = "Sadie Moore"
   MsgBox MyDog2.Name
   Set MyDog = Nothing
   Set MyDog2 = Nothing

   与最前面的代码不同的是,这里的代码实际上是定义两个对象MyDog和MyDog2,这两个对象是基于CDog的相互独立的两个对象。

   按F5键运行并测试。

   结果怎样?这一次是不是有两个对话框出现?一个显示"Billy Moore",另一个显示"Sadie Moore"。
上述定义的每个对象中除了Name外,没有任何实际的属性,因此下面过程就来添加:

   打开前面的Class1;

   声明下面的公共变量:

  Public Age As Integer

   打开前面的Form1;

   将命令按钮的代码变成:

  Dim MyDog As CDog
   Set MyDog = New CDog
   Dim MyDog2 As CDog
   Set MyDog2 = New CDog
   MyDog.Name = "Billy Moore"
   MyDog.Age = 4
   MsgBox MyDog.Name & " is " & MyDog.Age & " years old"
   MyDog2.Name = "Sadie Moore"
   MyDog2.Age = 7
   MsgBox MyDog2.Name & " is " & MyDog2.Age & " years old"
   Set MyDog = Nothing
   Set MyDog2 = Nothing

   这些代码和前面差不多,只不过这里使用了Age变量。

   按F5键运行并测试。

   应该出现显示name和age内容的两个消息对话框。

   现在再试着将其中一个对象的age值设置成1,000或者30,000。看看结果如何?程序照样正常运行,这是因为定义的整型变量最大值可达32,767,但是实际中的狗(Dog)是不会有30,000岁的。

   那么,这种情况应该怎样处理呢?

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网