Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   ¿Como saber el nombre de la variable de un form? (https://www.clubdelphi.com/foros/showthread.php?t=18935)

fjavier64 27-02-2005 19:15:44

¿Como saber el nombre de la variable de un form?
 
En principio gracias a todos los que intenten ayudarme.
Mi problema es el siguiente :

Tengo un from TBrowseForm para el browse de tablas con los métodos
siguientes :
{ ------------------------------------------------------------------}
procedure TBrowseForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
{------------------------------------------------------------------}
procedure TBrowseForm.FormDestroy(Sender: TObject);
begin
// Aqui qusiera asignar a nil el form
// NombreForm:=nil;
end;
{------------------------------------------------------------------}
El Form de clientes (o cualquier otro) lo tengo como sigue :

TbrClientesForm = class(TBrowseForm)
....
var
brClientesForm: TbrClientesForm;
{-----------------------------------------------------------------}
procedure TbrClientesForm.FormDestroy(Sender: TObject);
begin
// Ahora lo hago de esta forma, asignando a nil cada form descendiente.
inherited;
brClientesForm:=nil;
end;
{-----------------------------------------------------------------}
En el formulario principal tengo la siguiente llamada al form de clientes

if not Assigned(brClientesForm)
then brClientesForm:=TbrClientesForm.Create(Application);
brClientesForm.Show;
if brClientesForm.WindowState=wsMinimized
then brClientesForm.WindowState:=wsNormal;

Quisiera que algien me ayudara para saber como puedo asignar a nil el form
de clientes o cualquier otro en el metodo Ondestroy de la clase TBrowseForm sin tener que asignarlo en cada clase descendiente.

Alguien sabe como hacerlo, estoy desesperado.

Gracias a todos de nuevo.

kjlin 04-03-2005 17:29:35

Hola, prueba esto:

Código Delphi [-]
procedure TfPrincipal.bClientesFormClick(Sender: TObject);
var
   i:Integer;
   Existe:Boolean;
begin
   i:=0;
   Existe:=false;
   while not Existe and (ido
      if Application.Components[i] is TfClientesForm then
         Existe:=true
      else
         Inc(i);
   if not Existe then
      with TfClientesForm.Create(Application) do
         Show
   else
      TForm(Application.Components[i]).Show;
end;

procedure TfBrowseForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   Action:=caFree;
end;
kjlin.


La franja horaria es GMT +2. Ahora son las 08:54:54.

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