Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

Referencia de clase circular Encontrar ramas similares


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

Tal problema
T1 = clase
F: T2;
fin;
T2 = clase
F: T1;
fin;
tan resuelto
T2 = clase;
T1 = clase
F: T2;
fin;
T2 = clase
F: T1;
fin;
Pregunta: ¿Existe una solución para el caso cuando las clases T1 y T2?
ubicado en la unidad diferente "ah?
No puedo hacer algo: <



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

No, por supuesto. Por que

Solo puede declarar un antepasado de T2 en el ámbito de T1.



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

Una pregunta generalmente no inactiva.
Sería deseable que las clases tuvieran vínculos mutuos entre sí, pero por algunas razones no se pueden colocar en un módulo, son TForm.
Mientras hago esto a través de un intermediario - una clase que conoce ambos,
y cada uno de ellos lo conoce. A través de este intermediario, acceden entre sí.
Haz una pequeña idea de la relación directa de las clases anteriores.
Bueno, al menos insinúa dónde cavar :)



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

No puedo decir exactamente cómo se puede hacer en Delphi, pero en C ++ existen las clases amigas,
es decir, Las clases declaradas como amigas tienen acceso a todos los campos (¿métodos?) de otra clase, incluso aquellos
En la sección privada descrita. Sé que en Delphi, todas las clases ubicadas en una unidad se consideran amigables, pero aquí es cómo
hacer lo mismo para diferentes unidades ???




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

El problema es que las clases deben ser descritas en la sección. interfaz (por cierto, el acceso a campos privados, como b, no fue discutido), y las referencias circulares en esta sección están estrictamente prohibidas. La forma más correcta:

unidad Unit1; interfaz usos ; ; tipo TForm1 = clase (TForm) fldForm2: TForm; procedimiento doSomeThing; fin implementación usos Unit2; procedimiento TForm1.doSomeThing; comenzar (fldForm2 como TForm2) .TForm2OnlyProperty: = AnyValue; fldForm2.TFormProperty: = AnotherValue fin fin

Y de manera muy similar: Unit2, solo uno y dos lugares cambian de lugar.



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba









Memoria: 0.57 MB
Tiempo: 0.023 c
3-21964
Nickolaus
2001-12-05 22:09
2002.01.08
Con el error BatchMove.batUpdate.


3-21954
Strahov
2001-12-05 15:32
2002.01.08
¿Alguien ha encontrado un error?


6-22270
Ajax
2001-09-15 10:15
2002.01.08
Tuve una pregunta sobre el correo 3.


14-22380
Barman
2001-11-09 10:37
2002.01.08
Moscovitas, ¿alguien ha visto la guía de referencia de Win API a la venta?


4-22491
NikRus
2001-11-04 18:09
2002.01.08
¿Es posible interceptar pulsaciones de teclas: Ctrl + Esc, Ctrl + Alt + Del





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish Francés
gallego georgiano Alemán Griego criollo haitiano hebreo hindi Húngaro islandés Indonesian irlandés Italiana Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español