ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

循環クラス参照 似ている枝を探す


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

こんな問題
T1 =クラス
F:T2。
終わり
T2 =クラス
F:T1。
終わり
とても解決した
T2 =クラス。
T1 =クラス
F:T2。
終わり
T2 =クラス
F:T1。
終わり
質問:クラスT1とT2が次のような場合の解決策はありますか
別のユニットにある "ああ?
私は何もできません。



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

いいえ、もちろんです。 なんで?

T2のスコープ内でのみT1の先祖を宣言できます。



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

質問は一般的にアイドルではありません。
クラス同士が相互にリンクしていることが望ましいですが、いくつかの理由で1つのモジュールに配置できない - それらはTFormです。
私は仲介者 - 両方を知っているクラス - を通してこれをしますが、
そして彼らのそれぞれは彼を知っている。 この仲介者を通して、彼らはお互いにアクセスします。
上記のクラスの直接の知り合いについて少し考えてください。
まあ、少なくともどこを掘るためのヒント:)



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

Delphiでそれがどのように行われるのか正確には言えませんが、C ++ではフレンドリークラスのようなことがあります。
すなわち フレンドリと宣言されたクラスは、他のクラスのすべてのフィールド(メソッド?)にアクセスできます。
Privatセクションに説明があります。 Delphiでは、1つのユニットに配置されたすべてのクラスが友好的であると考えられていますが、これは
異なるユニットのために同じことをする?




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

問題はクラスがセクションに記述されるべきであるということです インターフェース (ところで、bのようにプライベートフィールドにアクセスすることは議論されていません)そしてこのセクションの循環参照は固く禁じられています。 最も正しい方法:

ユニット Unit1。 インターフェース 用途 ; ; タイプ TForm1 = クラス (TForm) fldForm2:TForm。 手続き doSomeThing; 終わり 実装 用途 Unit2; プロシージャー TForm1.doSomeThing; 始まる (TForm2としてfldForm2).TForm2OnlyProperty:= AnyValue; fldForm2.TFormProperty:= AnotherValue 終わり 終わります。

そして全く同様に - Unit2、1と2の場所だけが場所を変えます。



ページ: 1 全枝

フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階





メモリ:0.55 MB
時間:0.033 c
6-22309
密な
2001-10-10 19:02
2002.01.08
パスポートなしの封印されたネットワークカードがあります。


4-22501
アート
2001-11-02 08:30
2002.01.08
特定のApiを他のアプリケーションに使用することを禁止することは可能ですか?


1-22211
ううう
2001-12-13 22:46
2002.01.08
こんばんは、日、朝。 人々は助けます! 番号をダイヤルする方法、トーンモードに切り替える方法、およびランダムコードを入力する方法*


6-22283
ユラズ
2001-10-08 11:05
2002.01.08
標準的な方法に加えて、どうやってネットワークプリンタを接続することもできますか?


1-22012
Socol
2001-12-15 16:00
2002.01.08
ニコライ





アフリカーンス語 アルバニア語 アラビア語 アルメニア語 アゼルバイジャン語 バスク ベラルーシ ブルガリア語 カタルーニャ語 中国語(簡体字) 中国語(繁体字) クロアチア語 チェコ語 デンマーク語 オランダ語 英語 エストニア語 フィリピン語 フィンランド語 フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 インドネシア語 アイリッシュ イタリア語 日本語 韓国語 ラトビア語 リトアニア マケドニア語 マレー語 マルタ語 ノルウェー語
ペルシア語 ポーランド語 ポルトガル語 ルーマニア語 ロシア語 セルビア スロバキア語 スロベニア語 スペイン語 スワヒリ語 スウェーデン語 タイ語 トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский