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

firewill 2004-04-29 06:51:49
我的一个窗体文件Form1.Pas实在太大了,我想把一些方法的实现放在Unit2.pas中,可是怎么也搞不定!请大家帮帮忙啊!
多谢!!
...全文
39 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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就可以了。

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧