Ver Mensaje Individual
  #4  
Antiguo 22-08-2003
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: 26
delphi.com.ar Va por buen camino
Lo que te propone "Nadie" es que crees una variable que pertenece a la parte pública de una clase, estas variables normalmente son llamadas campos y para poder leer el valor, debe estar instanciada la clase, y como extra, y el valor de esta variable pertenece a cada instancia de una clase.
Por ejemplo

Código:
type
  TMiForm = class(TForm)
  public
    Campo: string;
  end;

...
var
  Form1, Form2
begin
  Form1 := TMiForm.Create(Application);
  Form1.Campo := 'Formulario Nro 1';

  Form2 := TMiForm.Create(Application);
  Form2.Campo := 'Formulario Nro 2';

  ShowMessage(Form1.Campo + ' - ' + Form2.Campo );
  { Esto Mostrará "Formulario Nro 1 - Formulario Nro 2"}
end;
Lo que te propone el amigo Cadetill es crear una unit para tener a todas las variables globales, aunque esto no es necesario, puede ser mas prolijo, todo depende para que.
Bueno, lo que creo que tu quieres hacer es meramente tener una variable que puedas leer de cualquier lado, para declarar una variable de ese tipo, solo tienes que declararla en la parte "interface" de cualquier unit, y luego usar esta unit en las units que necesitemos de este valor.

Ejemplo:

Código:
unit Globales
interface
var
  sUsuario: string;
implementation
end.
Código:
unit Form1
interface

type
  TForm1=class(TForm)
...
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  sUsuario := ParamStr(1);
end;
end.
Código:
unit Form2
interface

type
  TForm2=class(TForm)
...
implementation

procedure TForm2.FormCreate(Sender: TObject);
begin
  Caption := sUsuario; {Usa la Variable}
end;
end.
Por suerte este tipo de prácticas no es muy necesaria en Delphi, ya que puedes crear eventos y propiedades en los formularios y comunicarlos de esta manera, pero de todos modos podemos ver como Delphi cuando crea un formulario por defecto crea una variable de este tipo de la clase de este form, que será la utilizada en el DPR para crear el form, y asignarlo.


Espero no haber sido muy extenso,
Saludos!
__________________
delphi.com.ar

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

Última edición por delphi.com.ar fecha: 22-08-2003 a las 16:40:11.
Responder Con Cita