我的一个窗体文件Form1.Pas实在太大了,我想把一些方法的实现放在Unit2.pas中,可是怎么也搞不定!请大家帮帮忙啊!
多谢!!

解决方案 »

  1.   

    创建一个新的Unit,写上你的方法。然后在主窗体文件的Unit中use刚才新建立的Unit就可以了。
      

  2.   

    很简单,创建一个新无窗体的Unit,关键是你用到的控件要在uses下引用, 有例子:
    unit FunUnt;interface
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,CheckLst,
      Dialogs, ExtCtrls, DB, DBClient, MConnect, SConnect,Inifiles, StdCtrls, Menus,
      DateUtils,comobj,Excel2000,DBCtrls,ComCtrls,ExtActns,SHDocVw,ExtDlgs,IdGlobal,
      OleServer,Shellapi,Word2000,OleCtnrs;
    .....
    implementation.......
    end.
      

  3.   

    可是,我该如何在这个FunUnit中声明类的方法呢?加不加类的限定标识?比如
    Unit1中的一个类TForm1,声明了一个私有方法MyFunction,那么如何在FunUnit中将这个方法实现?
    我试验过写成TForm1.MyFunction; 不成,编译器要求去掉“TForm1.”,等我去掉了,TForm1又抱怨找不到方法的实现。
      

  4.   

    创建一个新的Unit,写上你的方法。然后在主窗体文件的Unit中use刚才新建立的Unit就可以了。如果新单元也要用到原先单元的东东就也use它
      

  5.   

    那么主窗体文件中的类的方法如何在新的Unit中声明呢?方法前要不要写“TForm1.”呢?我试过了,写不写都不行。
      

  6.   

    unit unit1//原来的窗体单元
    ......
    //***注意:可以使用类结构,也可以不用类结构来实现你的要求***
    unit unit2//函数过程单元
    1)类结构,在unit1中引用unit2,然后直接调用p1就可以了;
    type
      TmyClass=Class
        procedure p1;implementation
    procedure TmyClass.p1;
    begin
     ...
    end;//不用类结构,直接写;在unit1中引用unit2,直接调用p1;
    unit frm_unit2
    interface
    uses ...
      procedure p1implemenation
    procedure p1
    begin
    ...
    end;end.