请问大家,我想把一个类的方法的实现放在与类的定义不同的Unit里,怎么弄呢?

firewill 2004-04-29 06:51:49
我的一个窗体文件Form1.Pas实在太大了,我想把一些方法的实现放在Unit2.pas中,可是怎么也搞不定!请大家帮帮忙啊!
多谢!!
...全文
21 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
vipxch 2004-05-08
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 p1

implemenation
procedure p1
begin
...
end;

end.
  • 打赏
  • 举报
回复
firewill 2004-05-08
那么主窗体文件中的类的方法如何在新的Unit中声明呢?方法前要不要写“TForm1.”呢?我试过了,写不写都不行。
  • 打赏
  • 举报
回复
nice0934 2004-05-07
创建一个新的Unit,写上你的方法。然后在主窗体文件的Unit中use刚才新建立的Unit就可以了。如果新单元也要用到原先单元的东东就也use它
  • 打赏
  • 举报
回复
firewill 2004-05-07
UP!
  • 打赏
  • 举报
回复
firewill 2004-04-30
UP!!
  • 打赏
  • 举报
回复
firewill 2004-04-29
可是,我该如何在这个FunUnit中声明类的方法呢?加不加类的限定标识?比如
Unit1中的一个类TForm1,声明了一个私有方法MyFunction,那么如何在FunUnit中将这个方法实现?
我试验过写成TForm1.MyFunction; 不成,编译器要求去掉“TForm1.”,等我去掉了,TForm1又抱怨找不到方法的实现。
  • 打赏
  • 举报
回复
liyu001xj 2004-04-29
很简单,创建一个新无窗体的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.
  • 打赏
  • 举报
回复
zhen0129 2004-04-29
创建一个新的Unit,写上你的方法。然后在主窗体文件的Unit中use刚才新建立的Unit就可以了。
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi
加入

4972

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2004-04-29 06:51
社区公告
暂无公告