Visual FoxPro 5.0是3.0的升级版本,它是一个32位的系统。具备了使用和创建COM服务器的功能,并开始支持在Internet上发布Visual FoxPro。从这个版本开始,Visual FoxPro进入了Visual studio家族,并且Visual FoxPro将不再升级的谣言也是在这个时期出现。
在Visual FoxPro 6.0出现之前,微软计划推出DNA,演化到今天就是.NET,并承诺把Visual FoxPro发展成健壮的中间层工具,所以这以后Visual FoxPro的变化初级用户就不太容易感觉了。
Visual FoxPro 6.0也没有根本上的变化,不过有些变化还是相当明显的。Access和Assign这两种方法在控制放入你的对象中的数据方面很有创意。运用新的 Component Gallery(组件库)和Foundation Classes(基础类),你能很容易地转向创建面向对象的应用程序的工作。对COM支持的更好,在Server Pack 3后我们可以用Visual FoxPro创建多线程的COM组件。
Visual FoxPro 7是Fox第一个可视化版本——Visual FoxPro 3以后的最具有革命意义的一次产品升级换代。关于它的特性,稍候本文会有专门段落讲解。
Visual FoxPro的语言是由Xbase、SQL、OOP构成的。我不知道这样分解是否合理,我只是从FoxPro的发展历史得出以上结论的。其实以上三者在 Visual FoxPro完美的融合在一起了,已经与Visual FoxPro血脉相连、不可分割,很多语句、函数很难区分它属于哪个门类(也没必要)。再者Xbase这一叫法也不十分妥当,这样容易让人误会,好像 Visual FoxPro的语言是没有发展的“死语言”、是十几年前的“老古董”,其实在FoxPro每一次升级中(现在已是Visual FoxPro 7)都会对这部分语言进行修订、增补。我看还是这样:Visual FoxPro语言就叫它:“Visual FoxPro语言”,它既不同于任何以往的Xbase(最多有历史渊源),也不同于其它的编程语言。这就象Delphi那样,是Object Pascal语言,不是以前的Pascal;VB就是VB,不是以前的 Basic。
从Fox进入可视化的时代后,对COM技术的支 持一直是Visual FoxPro在过去、现在、将来不断改进的地方。面向对象java/j2me/code/' target='_blank'>程序设计(OOP)的最大的好处就在于代码的重复使用。然而,OOP只是一种解决代码重复使用的一种优秀的方案 (solution)。单纯利用OOP技术不仅要求所有对象都必须用一种语言完成,并且你还需要得到原程序代码嵌入应用程序(就像我们在Visual FoxPro开发使用Class那样)。如果对象是有你或你的公司完成的这些可能不是什么问题,但如果对象是由其他人或其他公司写的这就是问题了……再者 为了节省资源我们常希望把一对象放在远程的计算机上供许多应用程序使用,怎样简单、安全完成这个任务呢?看来,单有OOP是不行的!于是微软提出了 Component Object Model(COM)技术,有了它我们就不需要把对象源程序嵌入我们的应用程序中,就可以使用其他语言开发的对象,就可以分布的使用对象了。
COM技术提供四种不同的特性,Visual FoxPro支持所有的COM 特性。
ActiveX documents 允许用户在一个应用程序中编辑另一个应用程序的document。我们把Word文档嵌入或链接到Visual FoxPro中,就可以不离开Visual FoxPro编辑Word文档了。
ActiveX controls 为开发人员提供了增加的系统功能的方法,典型的应用就是各类ActiveX控件的使用来加强用户界面。这里要说明的是Visual FoxPro不支持(7.0也不支持)“集装箱式的”ActiveX 控件,比如Cool bar控件。
Automation 允许用户在一个应用程序中操纵另外一个应用程序或组件,典型的应用就是Visual FoxPro 与Office 的OLE-Automation应用。
Remote Automation 或者称 Distributed COM (DCOM)与Automation技术差不多,只是它支持组件的分布,这就是微软的分布式应用战略。
Visual FoxPro 不支持Active controls(ActiveX)的开发,但支持server components的开发,也就是在Automation、Remote Automation中使用的组件都可以用Visual FoxPro来开发。Visual FoxPro的这种能力是从5.0开始具有的,到了6.0的SP 3已经可以开发出多线程的组件了,这些在上文已经有过论述。以后的 Visual FoxPro 版本一定会对Automation,特别是Remote Automation有更好的支持,无论是开发server components,还是由Visual FoxPro充当客户程序。
综上所述,Visual FoxPro是创建关键任务的、企业范围的、面向对象的单层次、双层次、多层次应用程序的重要开发工具,这些应用程序可以在本地或全球范围内进行配置。