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 06-11-2003
Kafu Kafu is offline
Miembro
 
Registrado: may 2003
Ubicación: Bilbao
Posts: 117
Poder: 22
Kafu Va por buen camino
Curiosidad Shortdateformat

No sé bien en qué foro situar esta consulta.

Ocurre una cosa curiosa cuando enciendo una impresora conectada a un puerto USB.
Si la aplicación está ejecutandose en ese momento, actualiza la variable shortdateformat al valor que esté configurado en Windows.
Imagino que en algún lugar dentro de la vcl se escucha el mensaje de windows que dice que una impresora se acaba de incorparar, y eso hace que se actualicen esta y otras variables.
Pero claro, esto es un problema porque asignar un formato fijo al shortdateformat ya no independiza a la aplicación de Windows en este sentido.
Las posibles soluciones son terribles e irían todas en el manual del usuario "Por favor reinicie la aplicación si va a enredar con la impresora" o "Tenga la impresora encendida antes y apáguela después", o claro, obligar al usuario a que tenga el formato que a mí me interesa en Windows, única opción decente.
Si a alguien se le ocurre alguna solución intermedia, sería de gran ayuda.
Un saludo,

F.T.G.
Responder Con Cita
  #2  
Antiguo 06-11-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Extraído de la ayuda:
Cita:
..applications automatically update these formatting variables in response to WM_WININICHANGE...
El problema lo tienes con el driver de tu impresora que hace una locura como cambiar sin confirmación del usuario, la configuración regional. ¿No te parece que está bien que tu aplicación refleje el cambio de la configuración regional, si es que la has cambiado?

Solución:
Código:
Application.UpdateFormatSettings := False;
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 06-11-2003
Kafu Kafu is offline
Miembro
 
Registrado: may 2003
Ubicación: Bilbao
Posts: 117
Poder: 22
Kafu Va por buen camino
Cita:
El problema lo tienes con el driver de tu impresora que hace una locura como cambiar sin confirmación del usuario, la configuración regional. ¿No te parece que está bien que tu aplicación refleje el cambio de la configuración regional, si es que la has cambiado?
Gracias por la respuesta. El hecho es que la configuración regional no ha cambiado. Es sólo que para la aplicación hay una configuración fija diferente e independiente de la de Windows. La impresora no cambia la de windows, sino que hace que la aplicación vaya a Windows a ver qué hay y lo coja. Entonces no me sirve asignar el formato al iniciar la apliación, porque no sé en qué momento va a volver a actualizarse.
Entiendo que puede tener sentido, cierto, pero me interesaría que la aplicación no dependiera del formato de fecha corta de windows.
Voy a probar ahora mismo tu solución, gracias de nuevo. Un saludo,


F.T.G.
Responder Con Cita
  #4  
Antiguo 06-11-2003
Kafu Kafu is offline
Miembro
 
Registrado: may 2003
Ubicación: Bilbao
Posts: 117
Poder: 22
Kafu Va por buen camino
Efectivamente, funciona. Ahora la aplicación mantiene su formato particular. No sé si esto afectará por otro lado. Dando vueltas al tema parece que ese mensaje lo lanzara Windows por reconocer la nueva impresora, y eso hiciera que Delphi actualizara todas las variables indiscriminadamente. Bueno, es una conjetura.
Gracias de nuevo por tu ayuda. Un saludo,

F.T.G.
Responder Con Cita
  #5  
Antiguo 06-11-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Kafu comentó:
Dando vueltas al tema parece que ese mensaje lo lanzara Windows por reconocer la nueva impresora, y eso hiciera que Delphi actualizara todas las variables indiscriminadamente.
Pero si los valores del Regional Settings no cambiara, no tendría que afectar al "refresco" de las variables, pues tomaría los mismos valores que tenía seteado windows cuando inició la aplicación.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 10-11-2003
Kafu Kafu is offline
Miembro
 
Registrado: may 2003
Ubicación: Bilbao
Posts: 117
Poder: 22
Kafu Va por buen camino
Cita:
Pero si los valores del Regional Settings no cambiara, no tendría que afectar al "refresco" de las variables, pues tomaría los mismos valores que tenía seteado windows cuando inició la aplicación.
Sí, precisamente eso es lo que hace. El asunto es que los valores que tiene Windows al iniciar la aplicación no tienen por qué coincidir con los de ésta. Al establecer valores fijos para la aplicación no obligo al usuario a tener unos en concreto para su Windows. Un saludo,

F.T.G.
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 05:05:24.


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