Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   variable super general (https://www.clubdelphi.com/foros/showthread.php?t=43429)

mjjj 11-05-2007 00:36:27

variable super general
 
hola amigos....

ocurre lo siguiente...

tengo un programa con varias form (15)... buscando en otros hilos averigue que existen varibles generales, pero que solo son reconocidas dentro de un mismo form... por ejemplo variable X, definida para el form 1... lo que quiero hacer es que este disponible esa misma varibles, con el mismo valor, pero en otra form... form 2, form 3, etc

¿Existen variables super generales, que atravieses en concepto del FORM??

muchas gracias

Saludos

gluglu 11-05-2007 00:49:08

Basta con que la declares pública en cualquiera de los forms, aunque lo más lógico sería que la declararas pública en el form principal.

Y después puedes acceder en cualquiera de los forms a esa variable simplemente poniendo el nombre del form delante en la cual se declaró.

Por ejemplo MainForm.NombreVariable := Loquesea, o Loquesea := MainForm.NombreVariable

No se te debe olvidar incluir el form principal (o del cual quieres compartir variables públicas), en la cláusula Uses del form desde el cual vayas a acceder a esas variables públicas.

Saludos, ;)

BuenaOnda 11-05-2007 00:52:03

Incluir otros formularios..
 
Hola..

Mira lo que yo hago es declarar variables,funciones y procedimientos en un TDataModule, y despues para utilizar estas variables, funciones y procedimientos en todos los formularios que se necesite, solo incluyo la Unit del TModulo en el formualrio que deseo utilizar las variables, funciones y procedimientos. Para esto debes ir al menu Archivo(File)/Uses Unit... Es la forma que conosco, espero que te sirva..:D

FGarcia 11-05-2007 01:07:16

Un ejemplo:

Código Delphi [-]
//Este es el esqueleto que genera delphi
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
 
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  //AQUI Declara tu variable global del tipo que necesites. p.e.
  varGlobal: integer;
  
implementation
 
{$R *.dfm}
 
end.

Espero te sirva.

Delphius 11-05-2007 06:44:59

Solo quiero recalcar que tampoco es necesario contar cun un form para mantener variables públicas y globales. Basta con indicar declarar una unit con un nombre descriptivo (por falta de imaginación: UGlobales). Entonces cada unit (no nocesariamente correspondiente a algun form) que deba tener acceso a estas variables debe tener incorporado dentro de uses el nombre de UGlobales.

Algo como:

Código Delphi [-]
unit UGlobales;
 
interface
 
uses
// los que hagan falta

type
 // los tipos de datos que sean necesarios...

var
 // variables públicas
 variable1: tipo_dato;
 variable2: tipo_dato;

implementation


end.

La idea del datamodule es buena, si se emplean base de datos...
Si no se requieren de BD, es un desperdicio emplear el Datamodule
Allí, creo, que sería mejor considerar una unidad UGlobales.

Saludos,

Héctor Randolph 11-05-2007 07:02:28

Estoy totalmente de acuerdo con Delphius. De hecho, así están implementadas las famosas variables globales Application y Screen dentro de la unit Forms. Por esa razón, estas variables están siempre disponibles en todos los formularios de nuestros programa.

Código Delphi [-]
Unit Forms;

{ Global objects }

var
  Application: TApplication;
  Screen: TScreen;

Intenta quitar del uses de tu proyecto (*.dpr) la llamada a la unit Forms y verás el resultado ;)

Código Delphi [-]
program Project1;

uses
  //Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Saludos


La franja horaria es GMT +2. Ahora son las 16:11:35.

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