Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Compartir variable entre Forms

Tengo una aplicacion con 2 formularios, el principal y uno secundario, lo que yo quiero, es tener una variable compartida, es decir, quiero que, cuando cierre el formulario secundario, este, le asigne un valor a la variable compartida, para que el formulario principal pueda tener ese valor.
Como puedo hacer esto?

Saludos y Gracias
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 12-08-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Puedes utilizar una variable "global" (declarada en la "interfaz") en una unidad que, a su vez, compartan los formularios. Algo como:

Código Delphi [-]
unit UGlobals;

interface

var
  ShareInformation: integer; 

implementation

end.

Luego, en tus formularios, podrías añadir dicha unidad, y contar con la variable "ShareInformation", en este caso. Al menos es una idea, ¿no?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 12-08-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Asi lo hice, pero no me funciona.

Lo que intento hacer, es que, si yo cancelo (close) el formulario secundario (este lo active con ShowModal) quiero que se cierre toda la aplicación.
Probe con Application.Terminate pero solo me cierra el formulario secundario.

Alguna idea?
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 12-08-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Desde el primer formulario:

Código Delphi [-]
begin
  with TSecondFrm.Create(nil) do begin
    if (ShowModal() = mrCancel) then begin
      Self.Close();
    end;
  end;
end;

Algo así debería bastarte, ¿no?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 12-08-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Si, ahora lo que me esta costanto, es lo siguiente:

Yo abro un formulario secundario (ShowModal), desde el formulario principal. Lo que quiero es que cuando abra el formulario secundario, el principal se cierre, y que el formulario secundario pase a ser el formulario principal, rebuscado no? Necesito practicar el manejo de formularios.

Gracias
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #6  
Antiguo 12-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola mamu, nose como se cambia en ejecución que otro formulario sea el principal, que yo sepa solo se hace eso en diseño. En vez de buscar cambiar tu formuario principal, porque no lo haces invisible al principal y cuando quieras cerrar el secundario, cierras el principal para que se cierre tu aplicación.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 16-08-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Es que tengo un form MDI, que tiene una Variable global "Mivariable:boolean".
En el OnCreate del MDIForm, asigno

Código Delphi [-]
 
Mivariable:=False;

En el MDIChild que creo (en el OnShow del MainMDIForm), inclui en el uses UMainMDIForm, con lo cual, accedo a la variable:

Código Delphi [-]
 
UMainMDIForm.Mivariable:=True;

Luego de una operacion, cierro la MDIChild, habiendo dado un valor a Mivariable.
Ahora, cuando continuo con las demas instrucciones del OnShow del MainMDIForm, no me toma el valor asignado a la variable Mivariable que habia puesto en el MDIChild

Código Delphi [-]
 
if Mivariable=True
   then ShowMessage('es True');

Que estoy haciendo mal?

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Compartir Variable entre dos aplicaciones gluglu API de Windows 2 07-10-2007 23:41:10
Compartir variables entre forms tenporal Varios 4 19-07-2007 21:31:56
Compartir conexion entre dos PC chico_bds Internet 3 02-07-2007 06:21:27
Pasar variable o valor entre forms nachito_tuc OOP 3 05-09-2006 14:06:41
Compartir AciveX entre formulario Coco_jac Varios 2 03-10-2005 22:28:04


La franja horaria es GMT +2. Ahora son las 16:13:02.


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
Copyright 1996-2007 Club Delphi