你有onshow中加入如下事件试试啊

解决方案 »

  1.   

    你是否在程序中不止一次的Create过窗体?因为Delphi默认在创建主窗体的时候同时创建了下面的子窗体,你可以在Project的Opition中将子窗体移走,然在需要调用窗体的时候先创建后显示,或者也可以象上面的仁兄所说的在onshow事件中加入代码!
      

  2.   

    另一个窗体的create事件中,可能datamodules 没有创建
    另一个窗体的create事件中,该到show中写
      

  3.   

    我书上的例子是在窗体create事件中设置数据模块的table
    我在按你们的方法试试!
      

  4.   

      还要注意的是,那个数据模块在窗体建立之前就应该存在,如果不是,就会出访问地址错之类的错误。
      留意你的PROJECT SOURCE,是不是首先建立数据模块,理应是先建立数据模块,再建立各个窗体的。
      

  5.   

    小妹:
       你怎么给我这么少分? wu wu wu ...
       虽然我的名字叫小害虫,但我并不害人,而且还很热心帮人,如果有需要,你可尽管问我,只要肯给分就行了。
       你以上的问题,我也可以回答,但你要多给点分.
       你会用Delphi提供的Debug功能吗? 我教新同事的时候,都会首先教他们基本的语法,接着,就会教他们如何使用Delphi的调试功能,接着Delphi的强劲功能就由他们自己去领会。 你用单步跟踪的功能就可以知道单元装入的先后顺序。
       其实如果对Delphi熟悉的人都应该能够熟悉控制单元(function/procedure)的顺序,就你上面的问题而言,你所说的"单元",是不是就是指单纯的只包含Form的单元?如果是,那你提出的问题是不是就是想知道FORM的执行顺序?
       如果我猜对的话,我对FORM的执行顺序作以下解释: FORM的装入并执行可以通过两个途径进行: 第一种,AUTOLOAD, Delphi给你的默认方式,就是在Project的左边的列表就是程序运行时自动装入的窗体,从上到下,就是Project这些窗体的执行顺序,右面边就是可用的并不是自动装入的窗体,要用时,要自己手动加载。 第二种,手动加载,就是要自己写代码载入并执行。
       如果你能为用户的系统资源紧张的话,我推荐使用第二种方法,使用时才装入,用完就及时卸掉,为用户节省内存。
       autoload中这些窗体的装入代码,可以在点Project source菜单后看到。(就此看来,我应该换个名了)