delphi中类的相互访问的问题??

saoren 2001-01-13 08:55:00
有如下两个类:
//记住它们各自没有生成自己的类对象
type
MyClass1=class(TParentClass)
public
procedure Class1Procedure1;
procedure Class1Procedure2;
end;

type
MyClass2=class(TParentClass)
public
procedure Class2Procedure1;
procedure Class2Procedure2;
end;

implementation

procedure MyClass1.ClassProcedure1;
begin
//class process 1
end;

procedure MyClass1.ClassProcedure2;
begin
//class process 2;
end;

procedure MyClass1.ClassProcedure1;
begin
//想调用MyClass2.ClassProcedure1;怎么办????
end;
procedure MyClass1.ClassProcedure1;
begin
//想调用MyClass2.ClassProcedure1;怎么办?????
end;
记住类各自不能生成类对象,因为我写的控件。
...全文
101 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
saoren 2001-01-15
  • 打赏
  • 举报
回复
谢谢lz_0618
已经实现了。虽然可能会有一些错。
对于delphi的类的,你说的什么静态方法不是很懂,所以看了VCL的源码也不是很清楚。
呵呵,谢谢。
to whoo
我说的是:不能声明各自的对象进行类进行访问。你说的不行。
lz_0618 2001-01-14
  • 打赏
  • 举报
回复
type
MyClass1=class(TParentClass)
public
procedure Class1Procedure1;
procedure Class1Procedure2;
end;

type
MyClass2=class(TParentClass)
public
class procedure Class2Procedure1;
// ^^^^^注意
class procedure Class2Procedure2;
// ^^^^^
end;

implementation

class procedure MyClass2.Class2Procedure1;
//^^^ ^^^^^^^^
begin
//class process 1
end;

class procedure MyClass2.Class2Procedure2;
//^^^ ^^^^^^^^

begin
//class process 2;
end;

procedure MyClass1.Class1Procedure1;
begin
MyClass2.Class2Procedure1;//应该可以了!!
end;
procedure MyClass1.Class1Procedure2;
begin
MyClass2.Class2Procedure2;;//应该可以了!!

end;

delphi中的Class方法和VC中的静态方法是一样的。
我对你的意思的了解不知对不对!!!
你怎么没有看一下VCL的源码呢?因为组件的Create方法和你要求的一样啊。
whoo 2001-01-14
  • 打赏
  • 举报
回复
在Class1中声明一Class2对象或引用.
lz_0618 2001-01-14
  • 打赏
  • 举报
回复
最后一句我瞎说了,Create是构造函数。

5,927

社区成员

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

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