Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Quizás podría servirte el Loaded, protegido en el padre.

Código Delphi [-]
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Loaded; override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Loaded;
begin
  inherited;

end;

O si nos explicas las condiciones quizás alguna otra manera (incluso no llegar a crear el formulario haciendo las comprovaciones antes)
Responder Con Cita
  #2  
Antiguo 11-06-2004
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 24
apicito Va por buen camino
En el form padre creo el formulario, después le asigno valores a una variables públicas y con esas variables publicas, en el onshow hago comprobaciones en la base de datos. El problema es que algunas veces, como consecuencia de esas comprobaciones, me interesa hacer un showmessage y cerrar el formulario, pero no lo consigo ya que en el onshow no funciona el close.
Responder Con Cita
  #3  
Antiguo 11-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Vale, bien..... y no te sería más sencillo hacer las comprovaciones antes de mostrar el formulario (antes del Show)??

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2 := TForm2.Create(Application);
  try
    // Como el formulario lo tengo creado, puedo acceder a sus variables
    //  públicas y hacer las comprovaciones necesarias en este punto
    //  y si las comprovaciones no me interesan, sencillamente no hago
    // el Show (o ShowModal) de la ventana y me limito a liberarla
    if Comprovaciones then
      Form2.Show;
  finally
    FreeAndNil(Form2);
  end;
end;
Espero te sirva
Responder Con Cita
  #4  
Antiguo 11-06-2004
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 24
apicito Va por buen camino
En la creación del formulario la hago por referencia, ya que se llama muchos formularios distintos y con distintas comprobaciones, entonces las comprobaciones las tengo que hacer en el formulario hijo.
Responder Con Cita
  #5  
Antiguo 11-06-2004
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 24
apicito Va por buen camino
mira el procedimiento de llamada:
Código:
  if Sender.ClassType = TToolButton then
    FormaClase:=TExpFormClass(GetClass('TExp'+inttostr((Sender as TToolButton).Tag)))
  else if Sender.ClassType = TMenuItem then
    FormaClase:=TExpFormClass(GetClass('TExp'+inttostr((Sender as TMenuItem).Tag)))
  else
    Exit;
  if FormaClase<>nil then
    begin
      Forma:=FormaClase.Create(Self);
      Forma.codigo:=0;
      Forma.Expte:=QueryDia.fieldbyName('EXPDIA_CODIGO').AsInt64;
      Forma.Modo:='A';
      Forma.Part:=Part;
      Forma.Tipo:='EXP'+Part+QueryDia.fieldbyName('EXPDIA_TIPO').AsString;
      Forma.ExpAno:=EAno.Text;
      Forma.ExpNum:=ENumero.Text;
      Forma.Idioma:=Idioma;
      Forma.Dni:=EDni.Text;
      Forma.DniDup:=EDniDup.Text;
      Forma.ShowModal;
Responder Con Cita
  #6  
Antiguo 11-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Bien, si es así, podrías mirar de usar un truquillo con el evento OnActivate

Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
begin
  // Si las comprovaciones me hacen cerrar el formulario, pos se cierro
  if comprovaciones then
    Close;

  // Sólo quiero que se lance una vez este evento, así que quito el OnActivate
  OnActivate := nil;
end;

A ver ahora que tal
Responder Con Cita
  #7  
Antiguo 11-06-2004
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Poder: 24
apicito Va por buen camino
Gracias 1000.
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


La franja horaria es GMT +2. Ahora son las 07:10:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi