Ver Mensaje Individual
  #9  
Antiguo 14-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Reputación: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por cervexa
Esto lo he probado, pero no funciona, da error de compilación. Solo se puede acceder a las variables propias de TForm como Caption, Hint, Tag...
Eso es correcto, por eso te he sugerido anteriormente que todos tus forms hereden de una clase común que tengan estas variables / métodos. Lo que tu quieres hacer, solo se puede hacer bajo el concepto de "late binding" o "dynamic binding", por ejemplo:
Código:
var
  MiObjeto: OleVariant;
begin
  {Prueba esto, vas a ver que compila}
  MiObjeto.MandarFruta;
end;
En algunos lenguajes, por ejemplo VB y sus derivados, esta es una práctica común, por suerte en Delphi, esto solo es válido para ciertas clases. Los Automation objects soportan tanto early binding (en tiempo de compilación) como late binding (en tiempo de ejecución, evaluará la existencia del método).

¿Cómo haría lo tuyo?

Código:
unit MiCustomForm;

type
  TMiCustom = class(TForm)
  published
     property Propiedad1....
     property Propiedad2....
  end;
Luego los formularios heredarían de este
Código:
 
  TForm1 = class(TMiCustom)
  ..
Y en este código, Forma sería del tipo TMiCustom (o haría la pregunta si es de TMiCustom)
[quote=cervexa]Forma.Metodo;
Forma.Variable := Valor;
[quote]

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita