主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2002.01.08;
下载:[xml.tar.bz2];

向下

循环类引用 找到类似的分支


oomneeq   (2001-12-14 21:26) [0]

这样的问题
T1 =类
F:T2;
结束;
T2 =类
F:T1;
结束;
这样解决了
T2 = class;
T1 =类
F:T2;
结束;
T2 =类
F:T1;
结束;
问题:类T1和T2是否有解决方案
位于不同的单位“啊?
我做不了什么:<



Иван Шихалев   (2001-12-14 22:03) [1]

不,当然。 为什么?

您只能在T2的范围内声明T1的祖先。



oomneeq   (2001-12-17 12:00) [2]

一个问题一般不会闲着。
最理想的是,类之间存在相互联系,但由于某些原因不能放在一个模块中 - 它们是TForm。
虽然我通过中间人这样做 - 一个知道两者的类,
他们每个人都认识他。 通过这个中介,他们互相访问。
抛出直接认识上述课程的想法。
好吧,至少提示在哪里挖:)



Fellomena   (2001-12-17 12:36) [3]

我不能确切地说它是如何在Delphi中完成的,但在C ++中有一些友好的类,
即 声明为友好的类可以访问另一个类的所有字段(方法?),甚至是那些
在Privat部分描述。 我知道在Delphi中,位于一个单元中的所有类都被认为是友好的,但这是如何
为不同的单位做同样的事情???




Иван Шихалев   (2001-12-17 19:17) [4]

问题是类应该在本节中描述 interface (顺便说一下,没有讨论像b这样的私有字段的访问),本节中的循环引用是严格禁止的。 最正确的方法:


unit Unit1;

interface

uses
<стандартный набор модулей>;

type
TForm1 = class(TForm)
fldForm2 :TForm;
procedure doSomeThing;
end;

implementation

uses
Unit2;

procedure TForm1.doSomeThing;
begin
(fldForm2 as TForm2).TForm2OnlyProperty := AnyValue;
fldForm2.TFormProperty := AnotherValue
end;

end.


而且非常相似 - Unit2,只有一个和两个地方改变位置。



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.01.08;
下载:[xml.tar.bz2];

楼上





内存:0.56 MB
时间:0.04 c
14-22385
主席
2001-11-03 11:57
2002.01.08
>到梅林 - (SYSTRAY)


6-22270
阿贾克斯
2001-09-15 10:15
2002.01.08
我对邮件3有疑问。


1-22225
Reyst
2001-12-16 15:56
2002.01.08
无法将资源保存到文件


1-22241
Yuraz
2001-12-17 10:09
2002.01.08
FileListBox1.FileName返回文件的完整路径,如何让它只返回文件名?


3-21975
博士 卷筒纸
2001-12-06 09:12
2002.01.08
从程序创建Interbase数据库





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法语
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 淡米尔文 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский