我刚接触DELPHI 想请教一个问题,就是DELPHI默认打开时,会有一个FORM叫
FORM1,然后代码文件叫UNIT.PAS,我想问一下如果把UNIT1.PAS的名字改掉,是不
是FORM1就调用不到UNIT1.PAS中的代码呢?FORM1和UNIT1.pas是怎样一个关系,
DELPHI是怎样找到FORM1对应的代码文件的呢,是通过名字吗?谢谢了!

解决方案 »

  1.   

    .dfm文件是窗体文件,保存着窗体的数据信息,对应的.pas文件是代码文件,还有一个.res资源文件,如果任意修改其中1个可能破坏,可通过IDE Save to改变文件名
      

  2.   

    你真细心,这个问题简单看是通过名字进行对应的。delphi之所以把form的定义文件和代码的pas文件分开,我想主要是简化pas文件的结构。如果你学过java,java是吧这些东西放在一起的,导致源文件很大而且不易读。虽然完全符合面向对象的语法,但是个人不是很喜欢。你可以用记事本打开form文件,读一下里面的内容。第一行有个类名字进行对应的。
      

  3.   

    你的理解有点差异,delphi并不是用Form来找Unit,而是用Unit来找Form。道理很简单,Unit文件是代码文件,是程序的基础,Form文件只存储资源,是程序的辅助文件。
    它们之间的关系:请注意.pas文件的implementation段,都有一个 {$R *.dfm},这个意思是装入与Unit同名的.dfm文件作为窗口资源,而.dfm文件里是不会有任何.pas的引用的,这点请参阅Delphi关于$R的联机帮助。
      

  4.   

    Form文件其实就是一个给pas文件使用(实际使用者是VCL)的描述窗体的文件。
      

  5.   

    对,注意看看UNIT1单元前面部分的代码,你会理解的
      

  6.   

    dfm的最主要作用不是把那些控件代码分出来,而是为IDE提供设计期的持久化机制,以便在运行程序的时候,能够按“配置”把界面重新创建出来。
      

  7.   

    *.dfm 用于控件持久化。个人认为可以当成一类资源文件。通过编译指令{$R *.dfm}指定*.pas使用的*.dfm文件。