Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Una variable que apunta a dos objetos (https://www.clubdelphi.com/foros/showthread.php?t=16714)

mlara 08-12-2004 23:35:15

Una variable que apunta a dos objetos
 
Veámoslo así:

Tengo dos formas: fUno y fDos en dos unidades Uno.pas y Dos.pas.

En otra unidad tengo algo como esto:

Código:

case TalCosa of
  0:
    with fUno do begin
      .
      .
      .
      // esto son como 100 líneas de código
      .
      .
      .
    end;
  1:
    with fDos do begin
      .
      .
      .
      // estas líneas de código son idénticas a las de arriba.
      .
      .
      .
    end;
end;

Esto lo hago porque quice evitarme hacer modificaciones a todos los componentes de una forma para cambiarle el estilo. Obviamente no es nada elegante repetir todo un fragmento de código. Intenté crear una variable y hacer algo como esto:

Código:

case TalCosa of
  0:
    Variable := fUno;
  1:
    Variable := fDos;
end;
with Variable do begin
  .
  .
  .
  // las líneas de código
  .
  .
  .
end;

, pero no me funciona. Alguien quizás haya trabajado algo parecido? Gracias.

vic_ia 09-12-2004 00:00:11

hola...

de que tipo has definido la variable "variable" en tu codigo...???

saludos...

roman 09-12-2004 01:54:46

Cita:

Empezado por mlara
pero no me funciona. Alguien quizás haya trabajado algo parecido?

¿Parecido a qué? No tenemos ni idea de qué estás haciendo pues ni siquiera nos dices qué es lo que no te funciona.

Lo único que se puede decir es que si fUno y fDos son instancias de dos formularios distintos entonces no puedes usar una misma variable para acceder a sus componentes ya que éstos serán distintos. Si, por otro lado, fUno y fDos sin dos instancias del mismo formulario, habría que empezar por ver, como ya te preguntó vic_ia, de qué tipo es Variable y qué exactamente es lo que no funciona.

Pero por otro lado, si son instancias del mismo formulario entonces da la impresión de que la rutina (las 100 líneas de código) deberían ser parte del formulario en sí y no algo externo.

// Saludos

Neftali [Germán.Estévez] 09-12-2004 10:35:05

Cita:

Empezado por mlara
...pero no me funciona

¿Y que te dice?

Al González 09-12-2004 17:02:03

¡Buen día a todos!

Hola Mlara:

Según parece, la solución sería utilizar una plantilla: una forma con las propiedades y componentes que son comunes, y dos formas derivadas de esa plantilla.

Entonces podrías usar un Case como el que mencionaste.

De cualquier manera te agradecería que nos ampliaras un poco más el panorama. Recuerda que la calidad de una respuesta es directamente proporcional a la calidad de la pregunta ;).

Al González. :)

mlara 10-12-2004 04:53:41

Eyyy muchas gracias por sus respuestas... Desafortunadamente no puedo ampliar la pregunta ya que debo salir de inmediato por unos días. Al regreso amplio el panorama.

Gracias.


La franja horaria es GMT +2. Ahora son las 13:05:23.

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