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

abajo

Instancias de diferentes clases en la misma colección. Encontrar ramas similares


Maybe   (2002-03-20 15:58) [0]

Dígame cómo hacer objetos de diferentes clases dentro de la colección, por ejemplo, componentes visuales de Delphi, es decir, Sucesores de TControl, ¿es posible llevarlos de alguna manera a TControl, pero dónde deberían hacerse? ¿En la implementación de los métodos de recolección o ya en la implementación del programa, usando todos los mismos elementos de colección que los objetos de TControl?



yaJohn   (2002-03-20 16:02) [1]

¿Y cómo vas a insertar estos elementos en la colección?



Alx2   (2002-03-20 16:07) [2]

Mira la pregunta en este foro sobre la "matriz de objetos". Hay algo similar discutido, pero para la matriz.



Maybe   (2002-03-20 16:13) [3]

Quise decir que todo era TControls, y luego llevarlos a otras clases de TButton, TLabel TEdit, ¿entonces es posible?



Digitman   (2002-03-20 16:20) [4]

Si por "colección" se entiende TCollection, entonces los elementos de dicha colección pueden ser SOLAMENTE una instancia de una clase (o una instancia de herederos de clase) especificada por un parámetro en el constructor de la colección.



Alx2   (2002-03-20 16:24) [5]

> ... todos eran TControls, y tráelos más tarde
> a otras clases TButton, TLabel TEdit, para que pueda ????

Si Si son de hecho TButton, TLabel TEdit



Внук   (2002-03-20 16:27) [6]

No es exactamente la respuesta a la pregunta, pero aún así ...
No debe abusar de las colecciones IMHO aquí, ya que generalmente se crean para almacenar objetos con datos definidos por un programador (Datos del usuario). Si desea almacenar objetos estándar, es mejor utilizar TList.
En cuanto a la colección, cuando se crea, se indica el tipo de objetos almacenados en ella. Este tipo debe ser heredado (o debe ser igual a TCollectionItem). De ahí la moraleja: puede almacenar diferentes tipos de objetos, si solo todos ellos son herederos de TCollectionItem, y luego cada uno de ellos conduce al tipo deseado (real). Parece tan ... si no pervertido :)



Юрий Зотов   (2002-03-20 16:33) [7]

Si estamos hablando de componentes externos, puede ingresar un enlace publicado al componente en el elemento de la colección. Visite http://delphi.mastak.com/cgi-bin/forum.pl?look=1&id=1016607958&n=0

Si es interno, entonces la clase de componente debe establecerse en el elemento para que pueda crear este componente.



Maybe   (2002-03-20 21:37) [8]

¿Cómo puede definir una clase de componente, pero en la colección debería haber instancias de una sola clase, tal vez de alguna manera a través de la coacción de clases a través de As?



Юрий Зотов   (2002-03-21 13:36) [9]

> ¿Cómo puedo definir una clase de componente ...

Introduzca la propiedad de tipo TClass en el elemento de colección y establezca a través de él.



Alx2   (2002-03-21 13:48) [10]

> ¿Cómo puedes definir una clase de componente?
El nombre de la clase ya está en el método ClassName.
Si el nombre es lo que necesita, use la "clase emitida a través de As?"

Hay un método más rápido a través de ClassType



Юрий Зотов   (2002-03-21 14:05) [11]

Para usar ClassName o ClassType, debe tener un enlace listo para la instancia del componente o su clase.

La pregunta es cómo obtener cualquiera de estos enlaces si la clase de componente aún no se conoce y aún no puede crear el componente.

La respuesta es de ninguna manera. Por lo tanto, el elemento de colección también necesita establecer la clase del componente interno manualmente (o en el código). Sólo entonces se puede crear correctamente el componente.



Alx2   (2002-03-21 14:14) [12]

> Yuri Zotov © (21.03.02 14: 05)
Perdon Por alguna razón, decidí que tenía que almacenar objetos confeccionados.

Por otro lado, este mecanismo en Delphi ya está implementado simultáneamente con la "programación visual".



Páginas: 1 rama entera

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

arriba





Memoria: 0.58 MB
Tiempo: 0.024 c
6-271
anmak
2001-11-02 16:49
2002.04.01
Enchufe


1-96
pendientes
2002-03-21 12:36
2002.04.01
Hola a todos Dónde obtener el paquete de actualización para Delphi 5


14-311
Kozhanov
2002-02-19 13:54
2002.04.01
--- | La rama estaba sin título | ---


1-236
SlavaLamer
2002-03-20 19:48
2002.04.01
Registro


1-157
Alex Dobrushin
2002-03-18 14:57
2002.04.01
¿Cómo mostrar e imprimir un archivo PDF?





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 French
gallego georgiano Alemán Griego criollo haitiano Hebreo hindi Húngaro islandés Indonesian irlandés Italiano 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