Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2013
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
SubFormulario de un procedure

Buenos dias a Todos:
Estoy haciendo una aplicación la cual, tiene que comunicarse por protocolo tcp/ip. Este programa tiene uno formulario modal de parametros, en el cual se mete la ip del servidor, los datos necesarios, y un boton test para probar la conexion.
Ese boton test llama a una funcion que comprueba si el servidor esta activo, y me gustaria que se mostrara un formulario con la tipica progress bar con el stilo pbstMarquee, indicando que esta intentando realizar la conexion.
este es el codigo del boton test:
Código Delphi [-]
procedure TFormConfiguracion.ButtonTestClienteClick(Sender: TObject);
begin
  if TestTCPClient(EdIPCliente.Text, EdPasswordProtocolo.Text, EdPuertoCliente.Value, self) then
   begin    
    MensajeInformacion('Conexión con el Servidor Establecida con Exito!','');
  end
  else
  begin    
    MensajeError('Error al Conectar con el Servidor!','');
  end;
end;

el codigo de la funcion TestTCP:
Código Delphi [-]
function TestTCPClient(Host,Password: String; Puerto: Integer; AOwner: TComponent): Boolean;
var
  TCPCliente: TIdTCPClient;
  textoEnvio: String;
begin
  TCPCliente := TIdTCPClient.Create(nil);
  Result := False;
  TCPCliente.Host := Host;
  TCPCliente.Port := Puerto;
  TCPCliente.ConnectTimeout := 20000;
  textoEnvio := Trim(Password)+'|TEST|#';
  try
    ShowFormCompConexion(AOwner, 'Intentando establecer conexión con el equipo '+Host+'...');
    TCPCliente.Connect;
    TCPCliente.Socket.ReadTimeout := 10000;
    TCPCliente.Socket.WriteLn(textoEnvio, TEncoding.ANSI);
    if (TCPCliente.Socket.ReadLn(TEncoding.ANSI) = 'OK#') then
      Result := True;
    CloseFormCompConexion;
  except
    on E : Exception do
    begin
      CloseFormCompConexion;
      Exit;
    end;

  end;
end;
y el codigo de la funcion que muestra el formulario con la barra de progreso:
Código Delphi [-]
procedure ShowFormCompConexion(AOwner: TComponent; Dato: String);
var
  WindowList: TTaskWindowList;
  LSaveFocusState: TFocusState;
  SaveCursor: TCursor;
  SaveCount: Integer;
  ActiveWindow: HWnd;
begin
 Form_CompConexion := TFormCompConexion.Create(AOwner);
 Form_CompConexion.LbDato.Caption := Dato;
 Form_CompConexion.Show;
 Form_CompConexion.Repaint;
end;

El problema es que este formulario se queda como inactivo, me explico no se mueve la barra de progreso, es como si el esperara a que acabara el proceso. He probado a meter un gif, y nada, un edit y no me deja editarlo....
Alguien me puede ayudar??
Responder Con Cita
  #2  
Antiguo 09-10-2013
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 28
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Iba a decirte que pusieras un "Application.ProcessMessages", pero veo que no usas un bucle, así que eso no solucionaría mucho, me temo.

Quizá abriendo la ventana de notificación (la que muestra la barra de progreso) en otro hilo de ejecución sí funcione.
Responder Con Cita
  #3  
Antiguo 09-10-2013
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Aun asi, tambien lo probe, por si acaso...
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
Procedure Ledian_Fdez MS SQL Server 18 31-01-2011 14:05:38
procedure jandrorm Varios 12 14-01-2011 15:55:14
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
puntero a un procedure en un procedure como parametro fcios Varios 2 14-03-2009 03:41:22
¿procedure? Giniromero Firebird e Interbase 18 26-02-2004 15:52:08


La franja horaria es GMT +2. Ahora son las 22:06:14.


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