是一闪而过吗?或者只能出现一个表单,而对其他表单的调用而其他表单并没有出现。
有好几种情况的。一闪而过,是少了read events
我怀疑你的情况有可能你出来的表单的showwindow属性是顶层表单,而其他表单是在屏幕中,而不是在顶层表单中,而没有出现。
还有一种可能是你对其他表单没有调用成功。比如路径不对。

解决方案 »

  1.   

    估计是路径问题~!VFP应用程序路径适应性的具体实现方法。
    1. 在VFP应用软件的项目中,有一个主文件,它是整个应用程序的运行起始点。在主文件的开头处,插入以下语句:
    A.将该软件的目录(安装后目录),设置为当前目录
    SET DEFAULT TO SYS(5)+SYS(2003)B.从.INI文件或路径数据表中读取用户指定的该软件下的子目录名(.INI文件或路径数据表的内容,待软件安装后,根据软件下的子目录名,由用户输入),例如B.1。若软件设计时确定了子目录名,则执行B.2的语句。
    B.1 这里以"路径数据表"为例,说明读取路径的过程。
    USE PGPATH 
    MPATH=‘‘
    LOCA FOR PH#‘ ‘ &&搜索字段PH(路径)不为空的记录
    DO WHILE .NOT.EOF() 
    MPATH=MPATH+TRIM(PH)+‘,‘ &&连加成搜索路径
    SKIP
    ENDD
    MPATH=LEFT(MPATH,1,LEN(MPATH)-1)B.1 若子目录名固定,则将各子目录名赋给MPATH,例: 两个子目录名为
    DATA1,DATA2,DATA3则:
    MPATH=‘DATA1,DATA2,DATA3‘C.设置搜索路径
    SET PATH &MPATH.
    D.打开各数据库
    OPEN DATABASE 数据库1
    OPEN DATABASE 数据库22. 在主程序文件以外的程序中,作如下处理: 
    在这些程序中,以上设定的搜索路径仅由项目内的自由表使用,打开自由表时,不要使用路径。对于只包含单个数据库的项目,数据库中的表、视图等可以通过以下语句来使用,无须再使用路径。
    OPEN DATABASE [数据库名]
    USE [表名]
    而对于包含多个数据库的项目,在使用其内的表、视图等对象时,采用:
    USE 数据库名!表名
    3. 若要求应用程序在用户指定的目录中新建文件,则可以通过以下VFP函数来实现:
    =PUTFILE([cCustomText] [, cFileName] [, cFileExtensions])
    运行此函数,出现一个对话框,让用户选择文件(cFileName).( cFileExtensions)的存放目录。4. 对VFP数据环境的分析。
    报表、表单等设计时,数据环境内各个对象(如表、自由表、视图等)的CursorSource属性中包含自由表的绝对路径,以及Database属性中包含数据库的绝对路径。并且这二个属性都是只读的,无法修改。然而,在编程实践中发现,这二个属性值在项目连编时,都转化为相对于项目文件所在位置的相对路径。从而为设计路径通用性程序成为可能。这一点可通过查看使用了数据环境的各类文件(如:表单的 *、SCT,报表的 *、FRT)来证明,因此,在设计数据环境时,对数据对象,无须考虑路径的相对性。而且,数据环境中的数据库也是按SET PATH设定的顺序查找的。
    5. 项目文件中的数据库
    首先,要将它们标为"排除"。笔者,在项目"连编"前,有意改变它的数据库目
    录,使"项目连编"时找不到数据库,当出现"找不到数据库"等错误信息时,选择 "忽 
    略",连编后的应用程序,照样可使用。因此,连编后的应用程序中,不固定项目内(已
    标为"排除"的)数据库的路径,也不必考虑路径问题。
    6.最后要注意,在打开项目的环境下,调试运行主文件(整个应用程序的运行起始点) 
    时要将 SET DEFAULT TO SYS(5)+SYS(2003) 改为
    SET DEFAULT TO [(设计环境中)连编后的应用程序存放的绝对路径]
    因为设计项目时 SYS(5)+SYS(2003)得出的不一定是[连编后的应用程序存放的
    绝对路径],如:设计项目时是先运行VFP系统,再打开项目文件,则得出的路径是
    VFP系统的安装目录。