Nach Hause

Forum: "Haupt";
Durchsuchen Sie die gesamte Website: delphimaster.net;
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];



Nach unten

Zirkuläre Klassenreferenz


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

So ein Problem
T1 = Klasse
F: T2;
end;
T2 = Klasse
F: T1;
end;
so gelöst
T2 = Klasse;
T1 = Klasse
F: T2;
end;
T2 = Klasse
F: T1;
end;
Frage: Gibt es eine Lösung für den Fall, wenn die Klassen T1 und T2
befindet sich in einer anderen Einheit "ah?
Ich kann nichts machen: <



Ivan Shikhalev (2001-12-14 22:03) [1]

Nein, natürlich. Und warum?

Sie können nur einen Vorfahren von T2 im Gültigkeitsbereich für T1 deklarieren.



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

Eine Frage im Allgemeinen nicht untätig.
Es wäre wünschenswert, dass Klassen gegenseitige Verbindungen hatten, aber aus bestimmten Gründen nicht in einem Modul untergebracht werden können - sie sind TForm.
Während ich dies durch einen Vermittler mache - eine Klasse, die beide kennt,
und jeder von ihnen kennt ihn. Über diesen Vermittler greifen sie aufeinander zu.
Werfen Sie eine kleine Idee der direkten Bekanntschaft der oben genannten Klassen.
Naja, wenigstens einen Tipp, wo man graben kann :)



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

Ich kann nicht genau sagen, wie es in Delphi gemacht werden kann, aber in C ++ gibt es so etwas wie freundliche Klassen,
d.h. Als freundlich deklarierte Klassen haben Zugriff auf alle Felder (Methoden?) einer anderen Klasse, sogar auf diese
im Abschnitt Privat beschrieben. Ich weiß, dass in Delphi alle Klassen, die sich in einer Einheit befinden, als freundlich betrachtet werden
dasselbe für verschiedene Einheiten tun ???



Ivan Shikhalev (2001-12-17 19:17) [4]

Das Problem ist, dass Klassen in dem Abschnitt beschrieben werden sollten Schnittstelle (Übrigens wurde der Zugriff auf private Felder wie b nicht besprochen) und Zirkelverweise in diesem Abschnitt sind strengstens untersagt. Der richtigste Weg:

Einheit Unit1; Schnittstelle verwendet ; ; Typ TForm1 = Klasse (TForm) fldForm2: TForm; Prozedur doSomeThing; ende Umsetzung verwendet Unit2; Prozedur TForm1.doSomeThing; beginnen (fldForm2 als TForm2) .TForm2OnlyProperty: = AnyValue; fldForm2.TFormProperty: = AnotherValue ende ende

Und ganz ähnlich - Unit2, nur ein und zwei Orte, um den Ort zu wechseln.






Forum: "Haupt";
Durchsuchen Sie die gesamte Website: delphimaster.net;
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];



nach oben

Nach Hause

Top.Mail.Ru Yandeks.Metrika













Speicher: 0.76 MB
Zeit: 0.044 c
14-22329
Dima-k17
2001-11-03 15:12
2002.01.08
Delphi-Zeiten sind vorbei?


1-22250
Dmitry D.
2001-12-17 13:28
2002.01.08
Eher die mathematische Frage ...


14-22372
froz
2001-11-08 16:25
2002.01.08
DRINGEND!


6-22268
Voha
2001-10-05 13:25
2002.01.08
In der WebBrowser-Komponente gibt es keinen referer-Parameter.


14-22356
Dicht
2001-11-06 20:00
2002.01.08
Interferenz in der Programmierung .... DENTAL PAIN!





Afrikanisch albanisch Arabic Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarian katalanisch Chinesisch (vereinfacht) Chinesische Tradition) kroatisch Tschechisch Dänisch Dutch Englisch estnisch Philippinisch Finnish Französisch
Galicisch Georgisch Deutsch griechisch haitian Creole hebräisch Hindi ungarisch isländisch Indonesian irisch Italian Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegian
persisch Polnisch Portugiesisch rumänisch Russisch serbisch Slovak Slowenisch Spanisch swahili Swedish Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch