Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Activar Boton (https://www.clubdelphi.com/foros/showthread.php?t=68722)

agustin173 02-07-2010 13:02:40

Activar Boton
 
Hola muchachos como estan todos

Mi dilema es el Siguiente:

Tengo un boton desabilitado en un formulario y quiero que se habilite desde otro formulario cuando lo cierre.

Ejemplo:

Tengo un boton llamado 'ItebiAyuda' en un formulario llamado 'FrmItebis' el boton esta desabilitado, quiero que se habilite cuando yo cierre el formulario llamado 'Ayuda'

Pongo el Codigo que estoy usando

procedure TFrmAyuda.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FrmItebis.ItebiAyuda.Enabled:= True;
end;

No me da ningun error solo es que no se habilita el boton .

no se porque algo tan simple me esta dando problema sera que hay que hacer algo que yo no se.

ecfisa 02-07-2010 13:44:40

Hola Agustin.

El ejemplo tál como lo exponés, funciona perfectamente; habilitándose el botón al cerrar el segundo Form.

¿ No hay más código involucrado que pueda interferir ?

¿ Como llamás al segundo form ?

Saludos.

agustin173 02-07-2010 13:48:08

activar boton
 
no, solo ese codigo que esta viendo

que tu crees porque no se habilitara son formulario normales

agustin173 02-07-2010 13:51:21

activar boton
 
llamo al segundo formulario cuando presiono el boton ayuda y ahi mismo desabilito el boton. (Eso es en el Primer formulario)

Luego cuando cierro el segundo formulario quiero que se habilite el boton ayuda.

ecfisa 02-07-2010 14:06:45

Hola de nuevo.

Mirá, acabo de probarlo así y funciona correctamente.

.- Saqué Form2 de Auto-create forms en Project-> Options

En Unit1: Form1 y Button1. En el evento OnClick de Button1:
Código:

..
Implementation
 
uses Unit2;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Enabled:= False;
  with TForm2.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

. En el evento OnClose de Form2:
Código:

...
Implementation
 
uses Unit1;
 
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form1.Button1.Enabled:= True;
end;

Saludos.

Neftali [Germán.Estévez] 02-07-2010 16:27:03

No parece que ese código tenga ningun error.
¿Lo has ejecutado pasa a paso?

roman 02-07-2010 16:43:07

Agustín,

supongo que estás abriendo el formulario de ayuda con un Show y por ello tu interés de inhabilitar el botón que abre dicha ayuda. Pero, ¿por qué no haces mejor como apunta ecfisa, con ShowModal? De esa manera, el usuario no puede interactuar con el formulario origen mientras no cierre la ayuda.

// Saludos

agustin173 03-07-2010 01:00:39

Activar Boton
 
Ya llegue del trabajo ahora puedo empezar a programar

Muchachos el problema es que estoy llamado la ayuda del sistema que estoy haciendo y creo que es mejor tener las dos ventana interactuando al mismo tiempo.

si pongo el formulario secundario como showmodal no podre usarlo los dos al mismo tiempo y tendre que cerrar uno para trabajar con el otro.

no se si pueden enderme

ahora la verdad es que no se porque no funciona es algo muy raro pero la programacion es asi.

si encuentran alguna solucion me hacen saber yo seguire probando e incluso probare lo que ecfisa puso

agustin173 03-07-2010 01:27:10

Activar Boton
 
Muchachos mucha gracias ya funciono

solo tube que quitarlo del autocreate de donde me dijo ecfisa que lo quitara y mi codigo funciono, son problemitas que les sacan canas verdes a uno, pero siempre es bueno tener colaboradores como ustedes muchas gracias.


gracias por sus opines a: ecfisa, neftali y roman.


La franja horaria es GMT +2. Ahora son las 04:18:47.

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