Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2009
astwin astwin is offline
Miembro
 
Registrado: feb 2009
Posts: 21
Poder: 0
astwin Va por buen camino
clase que contiene otra clase definida de forma posterior

Hola a todos, quisisera preguntaros si existe alguna forma de solucionar un problema que tengo, y es que tengo una clase Tin que contiene una variable del tipo Tout, y una clase Tout que contiene otra de la clase Tin:

type TIn=class
...
Cout : Tout; <- Da error de undeclared identifier
...
end;

type TOut=class
...
vTIn : array of TIn;
...
end;

Como una clase esta definida despues de otra, la variable de la clase definida despues no la reconoce. ¿Como podria solucionarlo?
Muchas gracias.
Responder Con Cita
  #2  
Antiguo 19-02-2009
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Código Delphi [-]
TYPE
  TIn = CLASS;

  TOut = CLASS
  PUBLIC
    fIn: TIn;
  END;


  TIn = CLASS
  PUBLIC
    fOut: TOut;
  END;
Et voilá!

Aun así, has de andarte con cuidado al utilizar este tipo de relaciones cíclicas. Intenta evitarlas y buscar otra solución, si es posible.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 19-02-2009
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Hola astwin, bienvenido al foro, como sugerencia puedes poner tu codigo dentro de etiquetas para sea mas legible.

Respecto a tu problema, lo que debes hacer es definir la TOut antes que TIn ... pero no completa

Te quedaria asi:
Código Delphi [-]
type

  TOut = class;

  TIn=class
  ... 
  Cout : Tout;
  ...
  end; 

  type TOut=class
  ...
  vTIn : array of TIn; 
  ...
  end;

Suerte
__________________
[Crandel]
Responder Con Cita
  #4  
Antiguo 19-02-2009
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
jeje, me ganaste de mano Ñuño
__________________
[Crandel]
Responder Con Cita
  #5  
Antiguo 19-02-2009
astwin astwin is offline
Miembro
 
Registrado: feb 2009
Posts: 21
Poder: 0
astwin Va por buen camino
Muchisimas gracias a ambos. Ya funciona bien .
Responder Con Cita
  #6  
Antiguo 20-02-2009
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Crandel Ver Mensaje
jeje, me ganaste de mano Ñuño
Has de ser más rápido, joven padawan...

Cita:
Empezado por astwin Ver Mensaje
Muchisimas gracias a ambos. Ya funciona bien .
De nada.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar tipo dato propio en otra clase NEG1414 C++ Builder 1 17-12-2007 00:18:44
Pasando un TQuery de una clase a otra Eden SQL 4 13-02-2006 08:23:55
llamar a una clase desde otra unit Makiley Varios 2 02-02-2006 18:55:12
Mostrar un TMonthCalendar o parte de este fuera de la forma que lo contiene Ictiandro OOP 3 20-08-2005 19:05:23
Problea con Clase creada dentro de otra. Holderhek OOP 2 04-02-2005 00:05:19


La franja horaria es GMT +2. Ahora son las 09:25:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi