Visual Foxpro 的一个BUG


Visual Foxpro 充许一个表在多个工作区中打开,所以当我们用多个表单时, 就可以在不同的表单中打开同一个表,若给同一个表在不同的表单调用中以不同的别名,则可自由对其进行处理.但是,我发现有这样一个BUG,而且同样存在于3.0-6.0版本中.今写此文,主要想同大家共同探讨一下此问题,看看到底是BUG或是我的错误,希望引发大家的讨论。

表现方式:(举例说明)

  • 新建一个表单(FORM1),在其数据环境中加入一个表(假设表已经存在,其名为:DBF1.DBF),别名为 DBF1_1

  • 再新建一个表单(FORM2),在其数据环境中加入与上相同的表(DBF1.DBF),别名为 DBF1_2

  • 先运行FORM1,然后再运行FORM2,此时从"数据工作期"中可以看到有两个表被打开:DBF1_1 和 DBF1_2

  • 关闭FORM1(FORM1,FORM2表单中的AUTOOPEN和AUTOCLOSE全为默认值:.T.)

  • 此时,由于FORM1的关闭,则DBF1_1应当随之关闭,而DBF1_2则不应被关闭.但是,你会发现DBF1_1与DBF1_2两个表(实际是一个表,两个别名)已经全部关闭,若现在在FORM2表单中调用DBF1_2,就会出现错误! 以上现象会很影响多任务编程。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus