Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2012
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
esperar que el windows termine de cargar todo para iniciar aplicacion dephi

Tengo una aplicación delphi en el inicio de windows y mi pregunta es como saber cómo ejecutarla una vez haya cargado todo el sistema (iniciar windows).
Mi problema en concreto es que mi programa delphi se carga antes que las conexiones de redes y claro al utilizar sockets me da un error.
Quisiera que mi programa fuese el último en cargarse tras un reinicio o arranque del windows.
Gracias.
Responder Con Cita
  #2  
Antiguo 24-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 petete2008.

Yo lo manejaría mediante un archivo de proceso por lotes, llamémoslo LANZADOR.BAT, con el siguiente contenido:
Código:
@ECHO OFF
TIMEOUT /T 30
START C:\TU_DIRECTORIO\TU_APLICACION
Luego lo pondría en la carpeta inicio... pero te va a aparecer una fea pantallita, por lo que a su vez haría una aplicación de consola que llame al lanzador ocultando la ventana y esta sí es la que pondría en la carpeta inicio:
Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,ShellApi;

const
  SW_HIDE = 0;

begin
  ShellExecute(Handle, 'OPEN','CMD', ' /C C:\LANZADOR.BAT', nil, SW_HIDE);
end.

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 22-01-2015 a las 09:30:26. Razón: quitar enlace erróneo
Responder Con Cita
  #3  
Antiguo 24-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Dónde cargas la aplicación?

// Saludos
Responder Con Cita
  #4  
Antiguo 24-02-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por petete2008 Ver Mensaje
Tengo una aplicación delphi en el inicio de windows y mi pregunta es como saber cómo ejecutarla una vez haya cargado todo el sistema (iniciar windows).
Mi problema en concreto es que mi programa delphi se carga antes que las conexiones de redes y claro al utilizar sockets me da un error.
Quisiera que mi programa fuese el último en cargarse tras un reinicio o arranque del windows.
Gracias.
La manera correcta es detectar el error y reaccionar de forma apropiada, no tratar de hackear las cosas.

Si un programa depende de conexion de red, debe asumirse que en cualquier momento y por cualquier razon esa conexion fallara.

De donde sacas tu que es el hecho que windows arranque todo el que te dara conectividad? Eso es una *suposicion* que te va a fallar.

Asume que la conexion se cae y PUNTO. Duermes el programa por un rato, reintentas N veces y ya. Mucho mejor si te enlazas al notificador de red de windows:

http://stackoverflow.com/questions/3...on-with-delphi

PD. Usa la version con WinInet no la de registro.

Aunque esto NO GARANTIZA que hay conexion. La unica manera es haciendo ping a tu servidor (o a google o apple u otro domino que seguro esta online):

Como ves, determinar que tienes conectividad es mas alla de ASUMIR que la tienes, es COMPROBAR.
__________________
El malabarista.
Responder Con Cita
  #5  
Antiguo 24-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Coincido plenamente con lo dicho por mamcx, es la aplicación la que debe verificar la conectividad y comunicar y/o manejar cualquier anomalía que se presente.

Pero mi sugerencia apuntaba más concretamente a lo dicho por petete2008:
Cita:
Quisiera que mi programa fuese el último en cargarse tras un reinicio o arranque del windows
Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 26-02-2012
Avatar de bosster_018
bosster_018 bosster_018 is offline
Miembro
 
Registrado: nov 2009
Ubicación: Bolivia
Posts: 127
Poder: 15
bosster_018 Va por buen camino
Lightbulb

Como inicias tu programa? con el famosos registro de windows (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)

O poniendo un acceso directo en el menú inicio de usuario....

Pues por alguna razón me ocurrió algo no tan similar con una aplicación que hice para ejecutarse al iniciar windows....
Ya que yo utilizaba el registro de windows para iniciar mi programa.
Y luego el programa no realizaba las tareas adecuadas pues Windows no se había terminado de cargar, por lo que mi programa quedaba "nulo"

Así que, tal vez, el problema puede ser la manera de iniciar tu aplicación; puedes intentar poniendo un acceso directo en el menú inicio y VERIFICAR que pasa

Saludos!
Responder Con Cita
  #7  
Antiguo 26-02-2012
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
La tengo puesta en el inicio de windows. Me pasa en equipos muy lentos.
Me habéis orientado por lo que os doy las gracias. Lo mejor será como bien se ha dicho en este post que mire si hay conexión y si no hay lo reintente por ejemplo durante 10 segundos y si aún así sigue sin haber conexión dé el error. Gracias!!
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
Ejecutar un programa y esperar a que termine. jplj Varios 2 04-12-2008 14:54:53
Ejecutar archivo y esperar que termine Ana María API de Windows 2 05-09-2008 19:57:54
Ejecutar Exe de mi Aplicacion y Esperar a que Termine spider_Ramon API de Windows 4 07-09-2005 01:07:01
No termine de cargar windows hasta que ordene Pablo Carlos API de Windows 15 13-07-2004 16:39:13
Esperar a que termine un proceso felixgo OOP 4 02-06-2004 19:46:45


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


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
Copyright 1996-2007 Club Delphi