Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 25-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jars.
Cita:
Empezado por jars Ver Mensaje
...
Ecfisa, no importa lo que haga con la verificación, lo que quiero saber es como matar la creación del form, es decir que muestre el mensaje de error y no se muestre el form.
...
¡ Pero claro que importa !, si no requiere la intervención de un usuario, no es necesario el uso de un formulario...

Si vas a usar un formulario, coincido con Neftali en que de ese modo no es la mejor opción, pero podrías hacer algo como esto.

Formulario de conexión:
Código Delphi [-]
...
const
  WM_AFTER_CREATE = WM_USER + 301;

type
  TfrmConnect = class(TForm)
    procedure FormCreate(Sender: TObject);
    //...
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    FModalResult: TModalResult;
    procedure WmAfterCreate(var Msg: TMessage); message WM_AFTER_CREATE;
  public
  end;

var
  frmConnect: TfrmConnect;

implementation


function IsServerConnect: Boolean;
begin
  { Aquí el código de tu funcion para conectar al servidor }

  Result:= Boolean(Random(2)); // (Sólo para el ejemplo)
end;

procedure TfrmConnect.WmAfterCreate(var Msg: TMessage);
begin
   if not IsServerConnect then
    FModalResult:= mrCancel
  else
    FModalResult:= mrOk;
  Close;
end;

procedure TfrmConnect.FormCreate(Sender: TObject);
begin
  //... Otras cosas que debas hacer 
  Randomize; // (Sólo para el ejemplo)

  PostMessage(Handle, WM_AFTER_CREATE, 0, 0);
end;

procedure TfrmConnect.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ModalResult:= FModalResult;
end;

Ejemplo de llamada:
Código Delphi [-]
procedure TfrmMain.ButtonConnect(Sender: TObject);
var
  R: TModalResult;
begin
  with TfrmConnect.Create(nil) do
  try
    R:= ShowModal;
  finally
    Free;
  end;
  if R = mrCancel then
  begin
    MessageBox(0,'Conexión fallida','',MB_ICONERROR);
    Application.Terminate;
  end;
end;
Por supuesto que el formulario de conexión no debera figurar en la lista de auto creación.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
quiero Agrupar según condición FastReport vicentnew Impresión 5 18-07-2012 01:41:07
mostrar una u otra form segun boton pulsado jsc Varios 2 12-08-2011 09:08:10
mostrar form segun boton pulsado jsc OOP 1 11-08-2011 12:37:22
Consulta que obtiene campos de una tabla u otra según condición Gabo SQL 10 20-08-2007 08:53:02
Cambiar de color una fila de un Dbgrid segun una condicion... hook Varios 5 12-07-2005 23:40:36


La franja horaria es GMT +2. Ahora son las 11:14:48.


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