![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Escribe un procedimiento Assign que asigne todas las propiedades de tu clase.
TPersistent tiene ese método virtual, así que puedes derivar de TPersistenty completar tu Assign con las nuevas propiedades de tu clase. Por supuesto puedes realizar tu método de asignación desde cero. Cuando se realizan asignaciones de este tipo se debe tener cuidado al asignar punteros y en este sentido todos los objetos VCL lo son, así que tendrás que asignar contenidos. Por eso lo mejor es usar el Assign de las clases VCL y completar la asignación de lo propio de nuestra clase. Saludos. |
|
#2
|
|||
|
|||
|
Muchas gracias. Cambie TObject por TPersistent y coloqué un nuevo procedimiento
Código:
procedure Individuo.Assign(IndiEnviado:Individuo);
begin
VCoordenadas:= IndiEnviado.VCoordenadas;
VClasificacion:=IndiEnviado.VClasificacion;
VDistancias:=IndiEnviado.VDistancias;
Inercia:=IndiEnviado.Inercia;
TieneClasesVacias:=IndiEnviado.TieneClasesVacias;
end;
Gracias por su aporte y su valioso tiempo. |
|
#3
|
||||
|
||||
|
Hola TecnoBestia.
Me alegra que hayas solucionado el problema, pero creo que el amigo escafandra se refería a algo parecido a esto:
Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#4
|
||||
|
||||
|
Exacto, se trata de sobreescribir el método Assign para añadir en él las asignaciones de las propiedades propias de nuestra nueva clase, tal como muestra ecfisa en su código.
TecnoBestia, se trata de sobrecargar la función virtual para terminar llamando a la heredada, en otro caso te pierdes las propiedades de la clase madre. Saludos. |
|
#5
|
||||
|
||||
|
¿Y Vale la pena heredar desde TComponent sólo por un método? Antes a cambios en la estructura jerárquicas de nuestras clases es mejor pensarlo dos veces.
¿Te aporta alguna otra ventaja que sea de la clase TComponent? ¿necesitarás hacer streaming para recuperar datos? ¿En que te afecta, o que tan complicado es directamente añadirle un método CopiarA() que haga un trabajo similar? Digo... siendo honestos es lo mismo que harías con el Assing:
Con todo repeto, me parece un desperdicio heredar de TComponent si en verdad la clase no se va a comportar como un componente. Saludos, |
|
#6
|
|||
|
|||
|
Hola...
Delphius, según creo recordar, TComponent desciende de TPersistent y no al revés. A lo que voy es que heredar una clase de TPersistent no hace que esta se comporte como un componente. TPersistent solo define métodos para serializar un objeto. Saludos... |
|
#7
|
||||
|
||||
|
Cita:
// Saludos |
|
#8
|
|||
|
|||
|
Más sobre mi problema
Mi clase es muy simple y es para la aplicación de un algoritmo denominado Simulating Annealing para hacer clasificación de datos, mi clase es un Individuo que que contendrá únicamente lo que se muestra en el código siguiente:
Código PHP:
Código PHP:
|
|
#9
|
||||
|
||||
|
Muy puntual lo dicho por ecfisa y escafandra.
![]() Solamente una observación: Cita:
![]() Saludos. Al González.
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas. |
|
#10
|
||||
|
||||
|
Cita:
![]() Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como Puedo Asignar un TObjetList a un CxBdlookupCombobox Sin Recorrer La Lista | joelphi | Conexión con bases de datos | 1 | 14-02-2009 02:44:29 |
| ¿Cómo puedo saber el tamaño que debo asignar al buffer? | MON___ | API de Windows | 5 | 02-02-2008 22:08:02 |
| Como puedo librarme de la referencia circular? | Lionheart | OOP | 2 | 13-12-2005 13:58:33 |
| Como puedo asignar un ip a un equipo | yayita | Internet | 3 | 12-03-2004 22:09:52 |
| Como puedo saber si un una variable instancia se le a realiso un create | orfeo | OOP | 1 | 05-05-2003 08:42:38 |
|