Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema extraño con showmodal =S (https://www.clubdelphi.com/foros/showthread.php?t=37495)

Ken_Masters 15-11-2006 01:06:59

Problema extraño con showmodal =S
 
Hola a todos, lo que sucede es que tengo un problema con la funcion showmodal. Yo tengo una forma que contiene un botón, el código de ese botón es:

Código Delphi [-]
procedure Forma1.BitBtn1Click(Sender: TObject);
begin
  Forma2.showmodal;
end;

Se supone que forma1 no debe poder entrar ni debe intrometerse para nada hasta que cierre forma2, el problema es que cuando hago cualquier acción en la forma2 (como dar de alta o dar de baja algo) esta se cierra y aparece la forma1!!:confused:. He estado checándolo por todos lados pero la vdd nos e que pueda ser, aquí les voy a dejar el código de mi botón de altas de la forma2, a ver si algo tiene que ver :confused: (aunque este problema lo tengo con cualquier boton)

Código Delphi [-]
procedure TAltas.BitBtn1Click(Sender: TObject);
var
  mensaje:integer;
begin
  if (dbedit1.Text='') or (edit1.Text='') then
  begin
    mensaje:=Application.MessageBox('No deje el campo vacio. Gracias', 'Error de entrada');
  end
  else
  begin
    try
      datamodule2.agrega_area.Parameters.ParamByName('nombre').Value:=dbedit1.Text;
      datamodule2.agrega_area.Parameters.ParamByName('id_departamento').Value:=edit1.Text;
      datamodule2.agrega_area.ExecSQL;
      dbgrid1.DataSource.DataSet:=datamodule2.consulta_area;
      datamodule2.consulta_area.Active:=false;
      datamodule2.consulta_area.Active:=true;
      dbgrid1.DataSource.DataSet.Last;
    except on E:Exception do
    begin
      E.Message:='error';
      application.MessageBox('No puede haber claves repetidas.Gracias','Error de entrada');
    end;
  end;
end;

end;

Gracias por la atención XD

Ken_Masters 15-11-2006 01:12:24

mmm no se que pasó no se muestra el código se ve horrible jeje, lo voya poenr otra vez :

Código Delphi [-]procedure Forma1.BitBtn1Click(Sender: TObject); begin Forma2.Showmodal; end;


Código del botón de altas de la forma2 :

Código Delphi [-]procedure Froma2.BitBtn1Click(Sender: TObject); var mensaje:integer; begin if (dbedit1.Text='') or (edit1.Text='') then begin mensaje:=Application.MessageBox('No deje el campo vacio. Gracias', 'Error de entrada'); end else begin try datamodule2.agrega_area.Parameters.ParamByName('nombre').Value:=dbedit1.Text; datamodule2.agrega_area.Parameters.ParamByName('id_departamento').Value:=edit1.Text; datamodule2.agrega_area.ExecSQL; dbgrid1.DataSource.DataSet:=datamodule2.consulta_area; datamodule2.consulta_area.Active:=false; datamodule2.consulta_area.Active:=true; dbgrid1.DataSource.DataSet.Last; except on E:Exception do begin E.Message:='error'; application.MessageBox('No puede haber claves repetidas.Gracias','Error de entrada'); end; end; end; end;

seoane 15-11-2006 01:29:27

Veo que estas utilizando un BitBtn, comprueba la propiedad ModalResult del BitBtn. Si no quieres que se cierre el form debe tener el valor mrNone,

Ken_Masters 15-11-2006 01:57:11

Muchísimas gracias funciona perfeco, era muy sencillo sin embargo jamás se me hubiera ocurrido XD


La franja horaria es GMT +2. Ahora son las 09:46:01.

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