精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>● VB和Basic(1)>>文章连载>>VB邮件>>VB邮件(6.20)

主题:VB邮件(6.20)
发信人: aaaaaaaaa()
整理人: cobe(2000-02-13 00:03:46), 站内信件
                      编者的话
====================================================================
大家好!
    由于出差外出,有5天没发邮件了,敬请原谅。

                                版主   冯德平
                                [email protected]
=============================================
            VB邮件(6.20)
=============================================
a Visual Basic 4.0通信程序设计

南京 孙海健 潘文 钱俞寿

    摘要:Visual Basic4.0 中通信控件及其在Windows平台下的通信软件设计方
法,并结合具体实例给出了基本的通信程序。

    关键词:Visual Basic MSCOMM.VBX通信控件 程序设计

 

    1992年Crescent Software Inc.公司专为VB设计了MSCOMM.VBX用户通信控件
,它提供了通过串口发送和接收数据的串行通信能力,不但包括了全部Windows 
API中关于串行通信的16个函数所完成的功能,而且开拓了更多的使用户设计方便
的对象属性来满足不同用户不同业务的需求。目前国内众多的VB资料中很少涉及
该通信控件的介绍,本文将详细介绍MSCOMM.VBX通信控件及编程方法,并结合工
作中的一个实例给出基本通信程序。

 

1 MSCOMM.VBX通信控件描述

    MSCOMM.VBX通信控件可直接从VB的ToolBox中加入窗体Form,即可用其进行通
信。若ToolBox中无此控件,则用Tools的Custom Controls 将MSCOMM.VBX从Wind
ows的System子目录中加入VB的ToolBox中。

1.1  通信方式

    MSCOMM.VBX有2种不同的方式来处理和解决各类通信软件的开发和设计问题


    1、事件驱动。它与C/C++写Windows 软件时的窗口回调函数类似,是1种功能
强大的处理问题的方法。在实际工作中,往往要处理许多通信中的相关事件,例
如:当线路数据到达本端或CD线和RTS信号线状态发生变化时,要求我们使用相应
的事件来跟踪和处理,该控件是使用OnComm事件来实现的,它也包括检测和处理
通信错误等方面的问题,CommEvent 值返回最近的通信事件或错误的数字代码。
通信控件详细的错误和事件举例有:

        MSCOMM-ER-BREAK 收到1个Break Signal

        MSCOMM-ER-CDTO CD 信号超时

        ……

        MSCOMM-EV-CD CD信号改变

        ……

    2、查询方式。由程序设计者负责读取CommEvent的值并处理所发生的错误或
事件。通常简单的应用程序设计可采用这种办法。

1.2  通信控件的属性

    利用通信控件编制通信程序,关键是准确理解设置通信控件的属性。MSCOMM
.VBX提供了27个关于通信控件方面的属性,例如:

    CommPort:设置或返回通信口编号。

    Settings:设置或返回以字符串形式出现的数据通信格式:波特率、校验、
数据位和停     止位。

    PortOpen:设置或返回通信口状态(包括打开和关闭1个通信口)

    ……

    3、 实例

    本程序应用背景为DCC95型静电除尘器自动监控系统软件,解决1个PC工控机
(主站)与32个单片机(子站)之间的通信问题。主站与子站之间这总线式网络
结构,采用RS-485通信标准,以问答方式进行数据通信。由于32个子站与主站发
送通信命令(下行命令),主站在接收子站发回的相应回答命令(上行命令)后
继续发送下行命令的通信形式。根据系统功能的要求,主站需发送2种类型的命令
:(1)同期命令,它由定时器触发引起,每隔ls周期发送1次;(2)非周期性命
令,它由操作者按动相应命令按钮引起,非周期性发送。自动监控系统软件安装
在主站上,而通信程序作为自动监控系统软件的一部分也安装在主站上。

    本文仅列出调试通信程序时进行试验用的基本演示程序清单。试验时,用1台
PC机作为主站,另一台PC机模拟32个子站的工作,两台PC机之间采用RS232c串口
通信。往主站的通信演示程序窗体(form)中加入1个通信控件、2个定时器控件
和1个命令按钮控件,通信控件(Mscomm1)用于访问串口,发送和接收数据;Pe
riodic定时器控件(Periodic)用于控制每秒由主站向各子站发送周期性命令;
命令按钮控件(NonPeriodic-Command)与NonPeriodic定时器控件(NonPeriodic)
用于发送非周期性命令。数据传送采用事件驱动的通信方式,根据不同的发送命
令设置RTreshlod属性,从而引起OnComm事件以接收数据。

 

2.1  窗体各控件初始化程序

    设置通信串口工作参数,设置Periodic定时器的在断间隔为ls, NonPeriodi
c定时器的中断间隔为0.5s。

Sub Form-Load ()

Mscomm1.CommPort=2 ’选用COM2串行口

Mscomm1.Settings="9600,N8,1" ’波特率9600,无奇偶校验位,8位数据位1位
停止位 

Mscomm1.InputLen=0 ’Input将读取接收缓冲区的全部内容

Mscomm1.InBufferSize=1024 ’设置接收缓冲区的字节长度

Mscomm1.PortOpen=True ’打开通信口

Mscomm1.InBufferCount=0 ’清除发送缓冲区数据

Mscomm1.OutBufferCount=0 ’清除接收缓冲区数据

Periodic.inteval=100 ’设置ls定时间隔,使遥测命令每隔ls发送1次

NonPeriodic.inteval=500 ’设置0.5s定时间隔,查询命令按钮是否处于激活状
态以确定是否发送周期性命令

Command-Pressed=False ’命令按钮为未激活状态

During- Periodic=False ’周期性命令数据传输尚未开始

During- NonPeriodic=False ’非周期性命令数据传输尚未开始

End Sub

 

2.2  非周期性命令发送程序

    根据命令按钮状态及周期性命令数据传输状态,在NonPeriodic定时器的中断
程序中发送非周期性命令。

Sub NonPeriodic-Command-Click ()

Command-Pressed=True ’命令按钮激活

End Sub

 

Sub NonPeriodic-Timer ()

if During- Periodic=True OR Command-Pressed=False

Then Exit Sub ’若周期性命令数据传输尚未结束或命令按钮处于激活状态,则
退出发送非周期性命令程序。

Command-Pressed=False ’命令按钮恢复为未激活状态

Call SendData (NONPERIODIC-COMMAND) ’发送非周期性命令

Mscomm1.RThreshold=R-NONPERIODIC-BYTE’发送非周期性命令后,设置Rthresh
old属性,使主站接收所设定的字节数后引发OnComm事件

End Sub

 

2.3 Periodic定时器程序

    在Periodic定时器的中断程序中发送周期性命令:

Sub Periodic-Timer ()

if During- NonPeriodic=True Then Exit Sub ’若非周期性命令数据传输尚未
结束,则退出发送非周期性命令程序。

During-Periodic=True ’设置周期性命令数据传输状态为正在进行中 

Call SendData (PERIODIC-COMMAND) ’发送周期性命令

Mscomm1.RThreshold=R-PERIODIC-BYTE ’发送周期性命令后,主站接收R-REMOT
- EDATA-BYTE个字节,可引发OnComm 事件

End Sub

 

2.4  OnComm事件程序

    根据RThreshold属性设置值,当接收缓存区内接收到相应字节的字符时,引
发OnComm事件,在中断程序中接收数据。

Sub Mscomm1-OnComm ()

Select Case Mscomm1.CommEvent ’在此可插入处理各种不同错误或事件的代码
 

Case MSCOMM-EV-RECEIVE

ReceiveString$=Mscomm1.Input

Select Case Mscomm1.RThreshold

Case R-PERIODIC-BYTE ’周期性命令的应答数据

Call DisposeData(PERIODIC-COMMAND) ’处理接收数据

During Periodic=False ’设置周期性命令数据传输状态为结束

Case R-NONPERIODIC-BYTE ’非周期性命令的应答数据

Call DisposeData(NONPERIODIC-COMMAND) ’处理接收数据

During-Nonperiodic=False ’设置非周期性命令数据传输状态为结束

End Select

End Select

End Sub

    随着VB版本的不断升级,VB将成为最快速、易用、强劲的应用开发工具,是
企业级客户/服务器应用软件开发的首选工具之一。

参考文献

    1、夏云 ·Windows环境下串行数据通信程序设计·PC应用,1995;(6)

    2、舒继武·Visual Basic 3.0中通信及应用·微型机与应用,1996;(8)


    3、陈小欧·Windows环境下串口异步通信程序设计·电子技术应用,1997;
(2)

b Visual Basic 5.0中文版常见问题及解答

◆ Microsoft(r) Visual Basic(r) 5.0 对将应用程序集成到 Web 提供了什么样
的支持? 

◆ Microsoft Visual Basic 4.0 中的“远程自动化”技术支持什么网络协议?
 

◆ 有了 Microsoft Visual Basic 4.0 后,我能用单一源码集来创建在 Micros
oft Windows 3.1、Windows NT 和 Windows95 等系统上运行的应用程序吗? 

◆ Microsoft Visual Basic 5.0 支持新的 Intel MMX 芯片的 57 条附加指令吗
? 

◆ Microsoft Visual Basic 5 除了支持本机编译的代码外,还支持 p 代码吗?
 

◆ Visual Basic 能用来创建在 Windows CE 环境下运行的应用程序吗? 

◆ Visual Basic 能用来创建 Windows NT 服务吗? 

◆ Visual Basic 允许您显示 JPEG 或 TIFF 图像文件吗? 

◆ 可以在 Windows 3.1 应用程序中使用“Visual Basic 远程数据控件”吗? 


◆ 您可以从 Visual Basic 4.0 中使用 Data Access Objects 3.5 吗? 

◆ Microsoft Visual Basic 4.0 能创建“公共网关接口”应用程序吗? 

◆ 随 Visual Basic 4.0 提供了 Treeview OCX 吗? 

◆ Microsoft Visual Basic 支持表单内的弹出方式吗? 

◆ Visual Basic 能播放 .WAV 文件吗? 

◆ 我是否需要 Win32 SDK 才能从 Visual Basic 中调用 Windows 95 API ? 


◆ 我能用 VB 进行 Winsock 开发吗? 

◆ 如果有些开发者想阅读本产品文档中未采录的资料,请问微软能否推荐一份“
Visual Basic 读物清单”? 

◆ Visual Basic 32 位支持中的条件编译使用长型说明语句吗? 

◆ 我能在 SQL 查询中使用 Visual Basic 变量吗? 

◆ 随 Microsoft Visual Basic 5.0 中文版提供的 Seagate Software 公司 Cr
ystal Reports 是哪一版的? 

◆ Microsoft Visual Basic 5.0 中文专业版和企业版中的本机代码编译器支持
 Pentium Pro 优化吗? 

◆ Microsoft Visual Basic 的哪种版本支持“远程自动化”开发? 

◆ 随 Microsoft Visual Basic 5.0 中文专业版和企业版提供了哪些附加的 Ac
tiveX 控件? 

◆ 随 Microsoft Visual Basic 5.0 中文版的所有版本提供了哪些常用 Active
X 控件? 

◆ 随 Microsoft Visual Basic 5.0 中文版的学习版提供了哪些标准 ActiveX 
控件? 

◆ Microsoft Visual Basic 5.0 中文版中的“图像”控件支持什么样的图像文
件? 

◆ 随 Microsoft Visual Basic 5.0 中文版的所有版本提供了哪些固有控件? 


◆ 我有一些用 Microsoft Visual Basic 4.0 开发的应用程序,我需要采取哪方
面的措施以便将这些应用程序转换为 Microsoft Visual Basic 5.0 中? 

◆ 从万维网上下载的 Microsoft Visual Component Explorer 文件有多大? 


◆ 我如何获得 Microsoft Visual Component Explorer? 

◆ 从万维网上下载的 Microsoft Visual Modeler 文件有多大? 

◆ 我如何获得 Visual Modeler? 

◆ Microsoft Visual Basic 5.0 的应用程序性能资源管理器是什么? 

◆ 有了 Microsoft Visual Basic 5.0 后,我能创建可通过任何浏览器查看的“
活动文档”吗? 

◆ Microsoft Visual Basic 5.0 在调试性能方面有改进吗? 

◆ Microsoft(r) Visual Basic(r) 5.0 支持什么样的面向对象的编程功能? 


◆ 在 Microsoft Visual Basic 5.0 中能够使用多线程或线程安全吗? 

◆ Visual Basic 5.0 中文版内的 Text Box 能存储 64K 以上的数据吗? 

◆ 我想用 Microsoft Visual Basic 5.0 创建一些内含大量数组的程序,请问 
Visual Basic 5.0 能够处理的最大数组大小是多少? 

◆ Microsoft Visual Basic 5.0 中新增的项目资源管理器的功能是什么? 

◆ 除了 ODBC 外,还有其他别的什么方法使 Visual Basic 4.0 应用程序连接到
 Oracle(外部信息源)? 

◆ Microsoft Visual Basic 4.0a 维护版中有哪些内容?我如何才能得到它? 


◆ 在 Microsoft Visual Basic 5.0 中文版中,表单上最多允许有多少个控件?
 

◆ 哪种版本的 Microsoft Visual Basic 最适合我? 

◆ Microsoft Visual Basic 可以在 Macintosh 上使用吗? 

◆ Visual Basic 5.0 支持类吗? 

◆ Visual Basic 5.0 支持 16 位开发吗? 

◆ Visual Basic 5.0 能创建 16 位可执行文件吗? 
 
    
  
 
 ◆问:  
Microsoft(r) Visual Basic(r) 5.0 对将应用程序集成到 Web 提供了什么样的
支持?  
 
※答: Microsoft Visual Basic 5.0 支持基于浏览器的应用程序开发,以及一
种将特定的 Windows 格式转换为“活动文档”---被设计成自动在浏览器中安装
和运行的应用程序---的“集成移植向导”。利用这种技术,Visual Basic 程序
员可以使用手头现有的代码基准、工具以及实用程序、组件库、数据访问技术来
开发 Web 网上的应用程序,而无需了解 Java(r) 和 HTML 这样的新型编程语言
。 另外还有一个为在 Internet 上部署应用程序准备的安装向导,同时 Visual
 Basic 5.0   还包括最新版的 Microsoft Internet Explorer(r) 和 Winsock 
Internet 控件。有了 5.0 版,在早期版本的 Visual Basic 中开发的基于组件
的商用功能如今便可以在 Web 和基于浏览器的应用程序中使用了。最后要指出的
是,有了 Visual Basic 5.0 ,开发者可以创建在基于 Windows 和基于 Web 浏
览器中使用的 ActiveX 控件。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 4.0 中的“远程自动化”技术支持什么网络协议?  

 
※答: “远程自动化”技术支持所有的主要协议,包括:TCP/IP、IPX、NetBEU
I 及 XNS。TCP/IP 支持使客户机和服务器能够在 Internet 上通讯并交换数据。
  

----------------------------------------------------------------------
----------
 
 ◆问:  
有了 Microsoft Visual Basic 4.0 后,我能用单一源码集来创建在 Microsoft
 Windows 3.1、Windows NT 和 Windows95 等系统上运行的应用程序吗?  
 
※答: 可以。16 位和 32 位版的 Visual Basic 是 100% 的源码兼容。要创建
 16 位应用程序,请在 16 位版的 Visual Basic 4.0 中装入您的源码并生成一
个 EXE 文件。要创建 32 位的应用程序,请在 32 位版的 Visual Basic 中装入
同一个源码集并生成一个 EXE 文件。 注释:由于 Win16 和 Win32 提供的 API
 虽然近似但并非完全相同,因此必须将 API 调用改为相应的目标环境。请记住
,开发者可以利用 VB4 的条件编译。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 5.0 中 支持新的 Intel MMX 芯片的 57 条附加指令吗
?  
 
※答: 不支持。 我们选择了不因要增加对 MMX 芯片的功能支持而推迟第 5 版
的发行。我们准备在将来某个时候增加这项支持。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 5 除了支持本机编译的代码外,还支持 p 代码吗?  

 
※答: 支持。Visual Basic 5.0 中 是第一个在将应用程序编译成 p 代码或本
机代码方面提供了灵活操作可能性的 RAD 工具。编译成 p 代码可使应用程序的
大小优化为最小。p 代码凭借这一最小化特性成为了低带宽条件下创建 Interne
t 应用程序的首选方式。本机代码编译极大地提高了速度(最高快 20 倍),但
生成的可执行文件较大。 Visual Basic 是唯一既能够支持 RAD 的解释方式、编
辑与连续、以及开发等,又能够支持从本机编译的 .EXE 文件的 RAD 工具。  


----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 能用来创建在 Windows CE 环境下运行的应用程序吗?  
 
※答: 不能。目前情况下,您必须使用 Visual C++ 或其他与 Windows 95 兼容
的 C/C++ 编译工具。可从 http://www.microsoft.com/windowsce/hpc/develop
er/sdk.htm 处下载“软件开发工具包”。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 能用来创建 Windows NT 服务吗?  
 
※答: 不能。Windows NT 中的服务必须是完全用机器代码编译的可执行文件。
Visual Basic 目前不具备这一功能。您必须使用 Visual C++ 4.x 或其他与 Wi
ndows NT 兼容的 C/C++ 编译工具来创建服务。有关编写 Windows NT 服务的信
息,请参阅 “微软开发网络库 CD”。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 允许您显示 JPEG 或 TIFF 图像文件吗?  
 
※答: 不允许。Visual Basic 本身只支持 .BMP、.PCX、.ICO、.RLE 及 .WMF 
格式的图形文件。不过,其他格式的图形文件可以用附带的第三方组件显示。这
些组件可从 AccuSoft 公司或 Crescent Software 公司获得。  

----------------------------------------------------------------------
----------
 
 ◆问:  
可以在 Windows 3.1 应用程序中使用“Visual Basic 远程数据控件”吗?  
 
※答: 不可以。“远程数据控件”被设计为只能在 32 位 Windows 应用程序中
使用的控件。在 Windows 3.1 中有一个标准的数据控件,这个控件可通过“微软
喷气式(JET)数据库引擎”连接到远程数据库。  

----------------------------------------------------------------------
----------
 
 ◆问:  
您可以从 Visual Basic 4.0 中使用 Data Access Objects 3.5 吗?  
 
※答: 可以,不过当您在我们产品的旧版中使用新的对象库时将遇到问题(例如
,在 Visual Basic 4.0 中使用 Data Access Objects 3.5),尤其是会出现一
条使用方法的错误信息,指出“Argument Not Optional (参数不可选)”。这
个问题将在所有引用引用任何 '97 自动化服务器(即 Data Access Objects 3.
5、Excel 8.0、Access 8.0,等等)的所有 '95 自动化客户机(即 Excel95、A
ccess95、Project95、Visual Basic 4.0,等等)中出现。当 95 版的产品(如
 Excel 95)引用了随 '97(即 Data Access Objects 3.5 对象库)提供的对象
库时,就会出现这条错误信息。问题是可能会出现许多不同的错误。 错误号 AC
CESS96 #7543。请给微软技术支持打电话以获取解决方法。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 4.0 能创建“公共网关接口”应用程序吗?  
 
※答: 能。由于购买了第三方附件工具,Microsoft Visual Basic 能够提供一
种很方便读写标准 I/O 的途径,这样就使它成为创建“公共网关接口 (CGI)”应
用程序的强劲而便捷的工具。 其他详细信息,请参阅“微软开发网络”(MSDN)。
如果您没有订阅 MSDN,请上网查阅 http://www.microsoft.com/msdn  

----------------------------------------------------------------------
----------
 
 ◆问:  
随 Visual Basic 4.0 提供了 Treeview OCX 吗?  
 
※答: 随 Visual Basic 4.0 专业版确实提供了一个 Treeview 控件,它是“c
om”控件的组成部分。“com”(com.ocx) 控件是一个组合控件,Treeview 是其
中的一个组件。如果您想了解有关该控件及其用法的详细信息,可以在“微软开
发网络订阅”(MSDN) 上找到您所需要的信息。请与您当地的分销商联系订阅 MS
DN。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 支持表单内的弹出方式吗?  
 
※答: 支持,Visual Basic 将一种弹出方式,从另一方面讲即所谓的“子表”
,称为 MDI 表单或表单对象。详细信息,请参阅 MDI 表单或“子/父”条目或 
“微软开发网络订阅”条目下面的 Microsoft Visual Basic 文档。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 能播放 .WAV 文件吗?  
 
※答: 专业版和企业版的 Visual Basic 支持播放各种媒体格式,其中包括:.
WAV、通用 MIDI 及 .AVI。  

----------------------------------------------------------------------
----------
 
 ◆问:  
我是否需要 Win32 SDK 才能从 Visual Basic 中调用 Windows 95 API ?  
 
※答: 不需要。不过,有某种格式的 API 文档通常是很有益的。“微软开发网
络 CD”中包含大量的 API 文档。我们还推荐 Ziff-Davis 书局出版的,由 Dan
iel Appleman 编写的《The Visual Basic Programmers Guide to the Win 32 
API》。  

----------------------------------------------------------------------
----------
 
 ◆问:  
我能用 VB 进行 Winsock 开发吗?  
 
※答: 能。不过您必须有某些第三方工具和某些 API 的工具才能做到这一点。
 您可以在下列位置找到它们: NetManage's NEWT-SDK 5.0 with IntraNet Act
iveX http://www.netmanage.com/webc.cgi/JumpTo=promo_icp 或者向 JSB 公司
订购“Virtual 套接字库”: JSB Corporation 108 Whispering Pines Drive 
Suite 115 Scotts Valley CA 95066 USA 或订购 Catalyst Software 公司的 I
nternet VBX/OCX 控件: Catalyst Software 56925 Yucca Trail Suite 254-C
 Yucca Valley, CA 92284 http://www.catalyst. 

----------------------------------------------------------------------
----------
 
 ◆问:  
如果有些开发者想阅读本产品文档中未采录的资料,请问微软能否推荐一份“Vi
sual Basic 读物清单”?  
 
※答: 能推荐一份。启动 Visual Basic 帮助并运行关于 Q152564 标题的查询
。这个清单是在微软产品支持工程师评估关于 Visual Basic 的若干本书之后汇
总到一起的。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 32 位支持中的条件编译使用长型说明语句吗?  
 
※答: 使用。您可以在条件编译中使用长型说明语句,但要注意的是,当您在条
件代码中使用长型说明语句时,如果将该说明从一个条件复制到另一个条件,然
后修改 Alias 子句中的标识符,那么在您未指定的说明语句中就会另外有所变化
。详细信息,参见:Q143403。  

----------------------------------------------------------------------
----------
 
 ◆问:  
我能在 SQL 查询中使用 Visual Basic 变量吗?  
 
※答: 能。Visual Basic 变量和属性必须连接到 SQL 字符串中。如果嵌入了变
量的名称,您的代码将用变量名而不是变量值进行搜索。详细信息,请参阅“微
软知识库”中的这个标题:Q105539  

----------------------------------------------------------------------
----------
 
 ◆问:  
随 Microsoft Visual Basic 5.0 中文版提供的 Seagate Software 公司 Cryst
al Reports 是哪一版的?  
 
※答: 随 Microsoft Visual Basic 5.0 中文专业版和企业版提供了 Crystal 
Reports 4.6 版。对于购买上述 Visual Basic 5.0 中 两版中任何一版的客户,
在升级为可直接从 Seagate Software 公司购买的 Crystal Reports 5.0 时会享
有一定的优惠。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 5.0 中文专业版和企业版中的本机代码编译器支持 Pe
ntium Pro 优化吗?  
 
※答: 支持。Visual Basic 5.0 中文专业版和企业版中的本机代码编译器为优
化提供了各种本机代码选项。这些选项包括: Favor Pentium Pro、Assume No 
Aliasing、Create Symbolic Debug Info、Optimize for Fast Code、Optimize
 for Small Code、Remove Array Bounds Checks、Remove Floating Point Err
or Checks、Remove Integer Overflow Checks 及 Remove Safe Pentium FDIV 
Checks。有关本机代码选项的详细信息,请参阅 Visual Basic 5.0 中 文档。 
 

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 的哪种版本支持“远程自动化”开发?  
 
※答: “远程自动化”开发(RDO)允许所有标准进程外 OLE 服务器都可以在网
络上远程执行, Visual Basic 企业版对 RDO 来说是必须的。该企业版提供了几
个工具,分别用来管理和部署 OLE 服务器,它们包括:“安装向导”、“组件管
理器”、“连接管理器”、“连接实用程序”及“池管理器”等。  

----------------------------------------------------------------------
----------
 
 ◆问:  
随 Microsoft Visual Basic 5.0 中文专业版和企业版提供了哪些附加的 Activ
eX 控件?  
 
※答: 除了 10 个 Windows 常用的 ActiveX 控件外,Microsoft Visual Basi
c 5.0 中文版的学习版还提供了 5 个标准的 ActiveX 控件,专业版和企业版则
提供了如下 12 个 ActiveX 控件: 动画 (Animation):无需声音支持即可播放
 .avi(音频)文件。 通讯 (Communications):为您的应用程序提供了完整的串
行通讯。允许通过串口传送和接收数据。 Internet 传送:通过 HTTP 和 FTP 协
议将您的应用程序连接到 Internet 上。 MAPI 消息:开发具有 MAPI(消息传送
 API)功能的能够收发电子邮件的应用程序。该控件允许用户执行各种消息传送
系统功能。 MAPI 会话:开发具有 MAPI 功能的能够收发电子邮件的应用程序。
该控件建立 MAPI 会话。 屏蔽式编辑 (Masked edit):除了显示带格式的数据输
出外,还限制数据输入。它可以是一个捆绑控件,类似于标准的文本工具箱。 多
媒体 MCI:管理媒体控制接口 (MCI) 设备上的多媒体文件的录制和播放。 图片
剪辑 (Picture clip):在一个表单上或一个图片框中显示源位图的一部分。 标
记对话 (Tabbed Dialog):提供一种简便的方式,在一个表单上展示若干个对话
框或信息屏幕。 SysInfo:监视 Windows 操作系统的各种参数并通知您应用程序
有状态上的变化。 VCChart:创建饼图、条形图、折线图及其他图表。 Winsock
:通过 TCP 或 UDP 协议向其他计算机发送数据。  

----------------------------------------------------------------------
----------
 
 ◆问:  
随 Microsoft Visual Basic 5.0 中文版的所有版本提供了哪些常用 ActiveX 控
件?  
 
※答: Windows 常用控件都是 ActiveX 控件,它们是 Microsoft Visual Basi
c 第 5 版(学习版、专业版、企业版)工具栏上的标准控件。Microsoft Visua
l Basic 5.0 中文版中有 10 个 Windows 常用 ActiveX 控件: ImageList:包
含一个可由其他控件使用的图像集。该控件主要作为应用程序图像的中央贮藏室
。 ListView:以四种不同视图中的一种来显示数据,这四种视图是:图标、小图
标、列表、报表。 ProgressBar:以图形方式显示某一操作的进程,即在操作进
程当中从左到右逐块填充一个矩形。 RichTextBox:允许最终用户在提供比标准
 TextBox 控件更多的高级格式特性的同时,也能输入和编辑文本。 滑块 (Slid
er):为设置某种值或值的范围提供了一个图形界面。包含一个滑块和几个可选的
刻度线。 状态条 (StatusBar):以窗口形式显示一个状态栏,通常位于父表单的
底部,其中显示了各种类型关于应用程序的状态数据。StatusBar 控件最多可以
包含 16 个面板。 TabStrip:创建标记对话框。 工具条 (Toolbar):创建内含
个别“按钮”对象的工具栏,该工具栏通过编程,可以成为与应用程序中常用功
能相对应的工具拦。 TreeView:显示分层结构的信息,如文档中的标题或索引中
的条目。 UpDown:与一个“搭档”控件关联,允许用户在该搭档控件的属性值中
滚动。  

----------------------------------------------------------------------
----------
 
 ◆问:  
随 Microsoft Visual Basic 5.0 中文版的学习版提供了哪些标准 ActiveX 控件
?  
 
※答: Microsoft Visual Basic 学习版包含许多 ActiveX 控件(指标准的 Ac
tiveX 控件),这些控件允许您在自己的应用程序中添加高级功能。Microsoft 
Visual Basic 5.0 中 学习版提供了如下 5 个标准 ActiveX 控件: 公用对话框
:针对某些操作,如:打开和保存文件、设置打印选项、选择颜色和字体等,提
供一系列标准对话框。 数据捆绑组合框(Data-bound combo box):提供了标准
组合框控件的大多数功能,另外还有增强的数据访问功能。 Apex 数据捆绑网格
(DBGrid):DBGrid 是一个类似于电子表格的捆绑控件,它在显示的行和列中表
示 Recordset 对象的记录和字段。 数据捆绑列表框(DBList):DBList 提供了
标准列表框控件所具有的大多数功能,另外还有增强的数据访问功能。 Microso
ft FlexGrid:MSFlexGrid 类似于 DBGrid 控件,不同的是具有附加的格式编排
、分组、联编等功能,另外还有自定义选项。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 5.0 中文版中的“图像”控件支持什么样的图像文件?
  
 
※答: 图像控件用于显示图形。图像控件可以下列形式显示图形:位图、图标、
图元文件、增强的图元文件、或作为 JPEG 或 GIF 文件。 

----------------------------------------------------------------------
----------
 
 ◆问:  
随 Microsoft Visual Basic 5.0 中文版的所有版本提供了哪些固有控件?  
 
※答: ActiveX 控件作为独立的文件存在,与这一点不同的是,固有控件包含在
 Visual Basic .exe 文件内。固有控件总是包含在工具箱内,不象 ActiveX 控
件和可插入对象那样能够从工具箱中取出或添加到工具箱中。Microsoft Visual
 Basic 5.0 中文版包含如下 19 个固有控件: 复选框:显示“真/假”或“是/
否”选项。您可以同时在表单上选中任意多个复选框。 组合框:将文本框与列表
框组合在一起。允许用户键入一个选择范围或从下拉式列表中选择一项。 命令按
钮:在用户选择了一条命令或一个操作时开始执行。 数据:允许您连接到现有的
数据库并在表单上显示该数据库中的信息。 目录列表框:显示目录和路径并允许
用户选择。 驱动器列表框:显示有效的磁盘驱动器并允许用户选择。 文件列表
框:显示一个文件列表并允许用户从中选择。 图文框:为控件提供一个可视的功
能性容器。 水平和垂直滚动条:允许用户在未自动提供滚动条的控件中添加滚动
条。(这些滚动条与许多控件中内置的工具栏不同。) 图像:显示位图、图标或
 Windows 图元文件、JPEG 或 GIF 文件;单击后本控件会与命令按钮在动作上很
相似。 标签:显示用户无法交互操作或修改的文本。 线条:在表单中添加直线
段。 列表框:显示一个可供用户选择的项目列表。 OLE 容器:在 Visual Basi
c 应用程序中嵌入数据。 选项按钮:“选项按钮”控件,是与其他选项按钮组合
在一起的一个选项的一部分,显示供用户选择的多个选项。 图片框:显示位图、
图标或 Windows 图元文件、JPEG 或 GIF 文件。还显示文本或动作作为其他控件
的可视容器。 形状:在表单、框架或图片框中添加矩形、方形、椭圆或圆形。 
文本框:提供一个用来输入或显示文本的区域。 计时器:以指定的时间间隔执行
计时器事件。  

----------------------------------------------------------------------
----------
 
 ◆问:  
我有一些用 Microsoft Visual Basic 4.0 开发的应用程序,我需要采取哪方面
的措施以便将这些应用程序转换为 Microsoft Visual Basic 5.0 ?  
 
※答: 在将 Visual Basic 4.0 应用程序转换为 Visual Basic 5.0 时,您可能
要做几件事情。如果您使用的是 16 位应用程序,可能需要修改 Windows API 调
用和微软或第三方控件的版本。如果您使用的是 32 位应用程序,可能只需修改
微软或第三方控件。请确保每一方面都要彻底测试!  

----------------------------------------------------------------------
----------
 
 ◆问:  
从万维网上下载的 Microsoft Visual Component Explorer 文件有多大?  
 
※答: 以下是 Microsoft Visual Component Explorer 文件的相关信息。该文
件位于 http://www.microsoft.com/vstudio/owner/。您必须是 Microsoft Vis
ual Basic 5.0 中文企业版或专业版、Microsoft Visual Studio 97 企业版或专
业版的注册当事人,或是 “微软开发网络”的普通订户,这样您才能下载该文件
。 版本:5.0 发布日期:1997 年 3 月 19 日 大小:1,212Kb 类型:ActiveX 
DLL  

----------------------------------------------------------------------
----------
 
 ◆问:  
我如何获得 Microsoft Visual Component Explorer?  
 
※答: Microsoft Visual Component Explorer 是一个发布、组织及查询可重复
使用的 Visual Basic 组件的工具。您可以利用它将自己创作的组件发布给广大
读者共享,还可以将您的全部组件组织在一个地点,并且很方便地查找 Visual 
Basic 提供的组件,如:示例、模板、向导等。组件管理器(Component Explor
er)是在 Visual Basic 贮藏室基础上实现的。 要获得 Visual Component Exp
lorer,您必须购买 Microsoft Visual Basic 5.0 中文企业版或专业版、Micro
soft Visual Studio 97 企业版或专业版,或是“微软开发网络”的普通订户。
只要您购买了上述产品中的任何一种,就可以登录到万维网上位于 http://www.
microsoft.com/vstudio/owner/ 处的“下载”页面注册您的副本。 在注册您的
副本时,按照屏幕上的提示输入您产品的 20 位数的产品序列号,您可在“帮助
”/“关于”菜单中找到这个序列号。注册后,您就可以下载 Visual Component
 Explorer 的副本了。  

----------------------------------------------------------------------
----------
 
 ◆问:  
从万维网上下载的 Microsoft Visual Modeler 文件有多大?  
 
※答: 以下是 Microsoft Visual Modeler 文件的相关信息。该文件位于 http
://www.microsoft.com/vstudio/owner/。您必须是 Microsoft Visual Basic 5.0 中文企
业版或专业版、Microsoft Visual Studio 97 企业版或专业版的注册当事人,或
是“微软开发网络”的普通订户,只有这样才能下载该文件。 Visual Modeler 
版本:5.0 发布日期:1997 年 3 月 19 日 大小:5,986Kb 类型:标准 EXE 文
件  

----------------------------------------------------------------------
----------
 
 ◆问:  
我如何获得 Visual Modeler?  
 
※答: Visual Modeler 是一种与 Microsoft Visual Basic 5.0 紧密集成后的
图形化对象成型工具。Visual Modeler 使您得以实现面向对象编程的承诺,因为
利用它可以快捷方便地创建可维护的、生命周期长、由能够在其他应用程序中重
复使用的组件构成的应用程序。 要获得 Visual Modeler,您必须购买 Microso
ft Visual Basic 5.0 中文企业版、Microsoft Visual Studio 97 企业版,或购
买“微软开发网络”的“普通订阅权”。只要您购买了上述产品中的任何一种,
就可以登录到万维网上位于http://www.microsoft.com/vstudio/owner/ 处的“
下载”页来注册您的副本。 在注册您的副本时,按照屏幕上的提示输入您产品的
 20 位数的产品序列号,您可以在“帮助”/“关于”菜单中找到这个序列号。注
册后,您就可以下载 Visual Modeler 的副本了 

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 5.0 中的应用程序性能资源管理器是什么?  
 
※答: 应用程序性能资源管理器 (APE) 只在 Visual Basic 5.0 中文企业版中
才有,它是一个实用工具,允许开发者运行自动化的“假设分析”测试来调整和
简要概括不同网络拓扑结构中多层应用程序的性能。经过组件体系结构性能调谐
,开发者能够更容易地对客户机服务器应用程序及进程进行有步骤的设计、开发
规划和性能调整。  

----------------------------------------------------------------------
----------
 
 ◆问:  
有了 Microsoft Visual Basic 5.0 后,我能创建可通过任何浏览器查看的“活
动文档”吗?  
 
※答: 不能。由于“活动文档”基于微软的 ActiveX 技术,因此它们被限制在
只能在 32 位 Windows 环境下的浏览器中进行查看。如果您需要创建作为浏览器
中枢的应用程序或进程,就要集中精力在微软的 Internet Information Server
 内创建“活动服务器页”。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 5.0 对调试性能方面有所增强吗?  
 
※答: 有。使用 Visual Basic 5.0 中 的开发者如今不仅能够设置边界指示符
,而且可获得如跨项目调试这样的调试功能。跨项目调试使开发者能够在一个 V
isual Basic 实例中调试多个项目,边界指示符则使开发者具有可视的断点尾接
提示,执行程序、书签、调用堆栈标记的当前行。企业版中还有一个在 Microso
ft SQL Server 6.5 上执行远程 SQL 调试的实用程序。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft (r) Visual Basic(r) 5.0 支持什么样的面向对象的编程功能?  
 
※答: 多数情况您会问哪些功能不受支持。Microsoft Visual Basic 5.0 中 支
持封装、摘录、多态和一种特殊类型的继承,称为接口继承;但不支持实现继承
。这意味着尽管类可以继承其他组件对象模型 (COM) 类的接口,但它们无法继承
这些类的基本功能。尽管如此,Visual Basic 仍不失为一个功能强大的语言,在
编程领域占有独特的地位。有关本主题的详细信息,请参阅 Steven Roman 编写
的《Concepts of Object-Oriented Programming with Visual Basic》,书号:
ISBN 0-387-94889-9。 您可以在 http://www.microsoft.com/vbasic/feature/
object/objweb.doc 处阅读本书的摘录。  

----------------------------------------------------------------------
----------
 
 ◆问:  
在Microsoft Visual Basic 5.0 中能够使用多线程或线程安全吗?  
 
※答: 能。在 Visual Basic 5.0 中,您可以利用无人看守的执行功能创建多线
程和线程安全的组件,这种组件可在三层应用程序或活动服务器页面中使用。无
人看守的执行操作在提高系统的利用方面很有益,因为这样可以自动跨多个线程
来分配对象实例,以获得更好的性能及合作能力。而且,被标记为采用无人看守
执行方式的服务器还具有线程安全性,但这并不意味着您可以编写在 Visual Ba
sic 5.0 中 内控制线程的代码。线程管理完全由 Visual Basic 来控制。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 5.0 中文版内的 Text Box 能存储 64K 以上的数据吗?  
 
※答: 不能。Microsoft Visual Basic 5.0 中文版没有突破文本框的 64K 限制
,因为它是由操作系统指定的。如果您需要存储 64K 以上的数据,应使用 Visu
al Basic 内含的多信息文本框。多信息文本框类似于多行文本控件,不同的是增
加了个别字符和段落的格式编排功能。它基本上是“视窗在框中写成”。多信息
文本框能够保存 64K 以上的文本,提供内置的 OLE 2.0 客户支持,主要特性包
括:使一个段落内的文本左/右/居中对齐,可定义左制表位、字体样式、简单的
项目符号、查找/替换、上标、下标、加删除线等格式编排。详细信息,请参阅 
Visual Basic 产品文档或 “微软开发网络”(msdn)。  

----------------------------------------------------------------------
----------
 
 ◆问:  
我想用 Microsoft Visual Basic 5.0 中 创建一些内含大量数组的程序,请问 
Visual Basic 5.0 中 能够处理的最大数组大小是多少?  
 
※答: 在 Visual Basic 5.0 中,一个数组的大小限制实际上被限定为该数组的
索引大小。索引的大小不能超过 32 位值的最大值 (2147483648)。在实际使用
时,任何应用程序都会首先出现内存不足的情况。Windows NT 在单个进程内仅支
持 4 兆字节的内存。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 5.0 中新增的项目资源管理器的功能是什么?  
 
※答: Visual Basic 5.0 中的项目资源管理器允许您以概况模式查看与一个打
开项目相关的所有已加载项目的组件,如 Activex 控件、表单、类,等等。项目
资源管理器的优点是能够很容易地同时使用多个项目。  

----------------------------------------------------------------------
----------
 
 ◆问:  
除了 ODBC 外,还有其他别的什么方法使 Visual Basic 4.0 应用程序连接到 O
racle(外部信息源)?  
 
※答: Oracle 有一个产品叫 Oracle Objects for OLE。这个产品允许 Visual
 Basic 应用程序不必使用 ODBC 即可连接到 Oracle。 微软目前提供的到 Orac
le 的 ODBC 访问权除了通过标准的 ODBC 驱动程序获取外,还可以通过 DAO 和
 Jet(喷气式引擎)。大量的第三方供应商都为 Oracle 生产了 ODBC 驱动程序
,也有可能为该源提供本机语言库。较 Oracle 的替换产品而言,ODBC 要使开发
和数据访问变得容易得多。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 4.0a 维护版中有哪些内容?我如何才能得到它?  
 
※答: Visual Basic 4.0a 是 Visual Basic 4.0 的一个更新组件。这个“a”
发行版使公用 32 位组件与包括 Visual Basic for Applications 在内的“访问
远东”版同步。它还提供了与 Microsoft Foundation Classes 4.0 的发行版以
及 Visual SourceSafe(16 和 32 位)的“a”发行版的兼容性。 Visual Basi
c 4.0a 还包括许多错误修复,主要集中在“远程数据对象”和“远程数据控件”
这样的组件和控件上。VB.EXE 没有改动。 Visual Basic 4.0a 发行于 2/7/96。
在这一日期之后发行的任何 Visual Basic 4.0 副本中都包括这个更新版。要核
对您的 Visual Basic 4.0 版本,请查看原磁盘上的 setup.exe 文件的日期。如
果您的 setup.exe 日期不早于 1995 年 12 月,说明您手头的就是 Visual Bas
ic 4.0a。对于只有 4.0a 以前版本的客户,可通过以下两种方式获得这个版本:
 * 与 Visual Basic 技术支持联系。如果您指出您的 Visual Basic 4.0 副本中
有一个问题需要用 4.0a 版修复,技术支持工程师将设法免费给您寄出该版本的
一个副本。 * 与微软产品销售中心联系,请求购买该更新版的 3.5 软盘或 CD 
ROM 媒介形式。  

----------------------------------------------------------------------
----------
 
 ◆问:  
在 Microsoft Visual Basic 5.0 中文版中,表单上最多允许有多少个控件?  

 
※答: Visual Basic 5.0 允许在表单上最多可以有 255 个控件。  

----------------------------------------------------------------------
----------
 
 ◆问:  
哪种版本的 Microsoft Visual Basic 最适合我?  
 
※答: Microsoft Visual Basic 标准版是为专注于此项技术的人或初级程序员
设计的。该版本能够创建分布式应用程序,但缺少专业开发者需要的许多工具,
例如:完全的 ODBC 2.0 支持、滚动式光标、池管理器、组件管理器以及 Windo
ws 3.x 支持等。 Visual Basic 专业版是为个别的专业人员或公司开发者设计的
。该版本包含一般的专业开发者用来建立和分布坚固的、具有专业外观的应用程
序所需的全部工具。 Visual Basic 企业版是为创建分布式、高性能的客户机服
务器应用程序的开发小组设计的(企业版中的“远程数据对象”在如今的工具中
提供了某种更快的远程数据访问功能)。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Microsoft Visual Basic 可以在 Macintosh 上使用吗?  
 
※答: Microsoft Visual Basic 4.0 引入了可移植的 VBA (Visual Basic fo
r Applications)语言引擎。Microsoft Excel 5.0 最近已在 Macintosh 上发行
,其中随附了 Excel 的 VBA 组件,因此在它上面就有这个语言引擎。微软目前
对 Macintosh 上的 Visual Basic 版没有任何承诺? ?  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 5.0 支持类吗?  
 
※答: 支持,您可以在 Visual Basic 5.0 的内部创建自己的类。具体说,您可
以为各种类型的应用程序创建标准的基础类库,以便为具体类型的程序提供特定
的功能,然后将这些类编译进您的应用程序中。这样做可以节省大量您在某一应
用程序中重新编写一系列标准功能所需花费的时间。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 5.0 支持 16 位开发吗?  
 
※答: 不支持。开发者总是想尽早采用新式平台和获得最新的技术。有鉴于此,
我们选择了集中力量开发 32 位平台。通过专注于开发一个 32 位产品,我们已
能够在 Visual Basic 5.0 中添加许多新的功能。Visual Basic 4.0 的目标是 
16 位和 32 位 Windows 开发,只要有人需要它,它就会一直留在市场中。  

----------------------------------------------------------------------
----------
 
 ◆问:  
Visual Basic 5.0 能创建 16 位可执行文件吗?  
 
※答: 不能,Visual Basic 5.0 只能创建 32 位可执行文件。如果您想用 Mic
rosoft Visual Basic 开发 16 位 Windows 应用程序,就需要购买 Visual Bas
ic 4.0。  

=============================================
              问题征答()
=============================================
                其它
====================================================================
欢迎订阅VB免费邮件:
订阅地址  http://server.com/WebApps/mail-list-subscribe.cgi?id=16852  

====================================================================  

如果您觉得这个邮件列表好的话,请告诉您的朋友。  
====================================================================
欢迎投稿  [email protected]  
====================================================================  

网易上的主页地址:http://www4.netease.com/~aaaaaaaaa 
本网站主页镜像地址:goodvbhome.yeah.net 
====================================================================

--
欢迎访问主页:goodvbhonme.yeah.net
或:http://www4.netease.com/~aaaaaaaaa
http://personal.gz168.gnet.gd.cn/vbok/

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.48.46]

[关闭][返回]