Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Compartir variables entre forms (https://www.clubdelphi.com/foros/showthread.php?t=45981)

tenporal 19-07-2007 20:00:38

Compartir variables entre forms
 
Saludos a tod@s.

:confused: ¿Como puedo utilizar el valor de una variable que tengo en la forma principal, si la quiero manipular dentro de otra forma de la misma aplicacion?

De antemano, gracias por sus comentarios.

delphi.com.ar 19-07-2007 20:10:04

Puedes hacer varias cosas según te convenga.
  1. Si lo que quieres es acceder a un campo de tu clase TForm1, simplemente puedes tener una propiedad pública, o la variable en un sector público del TForm1, y desde el TForm2 tener acceso a la variable que instancia TForm1.
    Código Delphi [-]
    unit Unit1;
    
    interface
    
    ...
    
    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
      public
        MiCampo: string;
      end;
    
    var
      Form1: TForm1;
    ...
    Código Delphi [-]
    unit Unit2;
    
    ...
    
    implementation
    
    uses Unit1;
    
    {$R *.dfm}
    
    procedure TForm2.FormCreate(Sender: TObject);
    begin
      Form1.MiCampo := 'Hola!';
    end;
  2. Si lo que quieres es que esta sea una variable común entre los dos formularios, que no sea un campo de uno de ellos, o sea no pertenezca a ninguno de ellos, simplemente puedes declararla en la interface de una unit que ambos utilicen, o bien en la interface de una de las dos units.


Saludos!

eduarcol 19-07-2007 20:10:38

Recomendacion:

Utiliza una unit especialmente para declarar todas las variables y constantes, y donde necesites estas variables solo declarara en el uses y listo.

delphi.com.ar 19-07-2007 20:15:38

Te agrego que consultes este hilo para una explicación mas atinada: http://www.clubdelphi.com/foros/show...58&postcount=4

Saludos!

tenporal 19-07-2007 21:31:56

:) Gracias Federico, cree una nueva unidad llamada Globales asi como sugeristes y en cada form llamo a la variable global para utilizarla por ejemplo:
Código Delphi [-]
   if (uglobales.mpermisos in ['A','B']) then
   begin
      Adotable1.edit;
      dbedit2.SetFocus;
   end else
      ShowMessage('No tiene permisos para realizar esta operacion');
end;

Tambien comentabas que a una forma le puedo agregar propiedades

:confused: ¿como puedo agregar propiedades en una forma?

Muchas gracias por la ayuda.


La franja horaria es GMT +2. Ahora son las 22:06:50.

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