Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 09-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
[sarcasmo]Tienes razón, el enrevesado eres tú [/sarcasmo]

Ya en serio, el hecho de "necesitar" los uses de forma circular, es causa y consecuencia de un mal diseño.

Imagina, tengo una ventana principal, Form1, y después dos ventanas Form2 y Form3. Ahora quiero usar las 3 de forma circular, y estoy en problemas.

La solución: Crear otra unidad (sin Form asociado), además me ayudo de un tipo enumerado que me evita las referencias circulares:
Código Delphi [-]

Unit publica;

interface
   Uses unit1, unit2, unit3;

Type TAbrir = (aForm1, aForm2, aForm3)

procedure Abrir(QueAbrir:TAbrir);
begin
 case QueAbrir of
   aForm1 : TForm1.Create(application);
   aForm2 : TForm2.Create(application);
   aForm3 : TForm3.Create(application);
end;

Ahora Form1, Form2 y Form3 harán uso de la unidad publica, pero ya estamos evitando crear referencias circulares:
Código Delphi [-]
Unit Unit2;

interface

uses publica;

IMPLEMENTATION

procedure TForm2.blabla(...);
begin 
   Form2 := publica.Abrir(aForm2);
end;

Y en otro sentido: Si las clases comparten atributos, será porque tienen algo en común, por tanto, es lógico que compartan la misma unidad ¿no?

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
 


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
Referencia circular Enan0 Varios 3 31-10-2006 22:56:26
referencia circular melon OOP 1 16-04-2006 02:13:00
Como puedo librarme de la referencia circular? Lionheart OOP 2 13-12-2005 13:58:33
como usar object pascal y gtk Lionheart OOP 6 09-12-2005 19:31:08
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29


La franja horaria es GMT +2. Ahora son las 10:18:48.


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