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 19-11-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Unhappy Curioso problema con Windows Vista al usar paquetes

Hola,

Me he encontrado con un problema muy curioso en Windows Vista.

Tengo una aplicación Delphi 5 compilada por paquetes. Los paquetes están en el mismo directorio de la aplicación, el cual es un directorio de Red. El problema es que cuando ejecutó la aplicación esta no carga los paquetes.
He hecho pruebas y descubrí lo siguiente:

Si el directorio de Red es agregado al camino de busqueda de Windows Vista, la aplicación se carga sin problemas.

Si copiamos la aplicación, y los paquetes, a un directorio local, esta trabaja perfectamente.

La conclusión es que Windows Vista no ubica correctamente los paquetes cuando estos residen en un directorio, a menos que explicitamente le diga que los busque en ese directorio. Dado que el default de Windows es buscar primero en el mismo directorio de la aplicación, y esto se está cumpliendo bien cuando el directorio es local, resulta muy extraño el comportamiento de Vista.

Alguién sabe la razón de este problema ?

Alguién conoce alguna otra solución ?

Hay algo que se pueda hacer desde Delphi 5 para evitar esto ?
Responder Con Cita
  #2  
Antiguo 19-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Supongo que solo usas el nombre y extensión para cargar el paquete dinámico.

¿Por qué no usas rutas absolutas? Al hacerlo, si usas ExtractFilePath, mira en la ayuda que es compatible con rutas en formato UNC (si para arrancar el programa usas algo como: \\nombre-servidor\nombrecarpeta\nombreExe.exe) Si usas una ruta de red mapeada (tipo Z:\nombreExe.exe) quizás minimices los problemas.

Otra opción es usar GetEnvironmentVariables y SetEnvironmentVariable para añadir la ruta a la variable de entorno PATH de windows (esto solo modifica la variable de entorno para tu programa, no lo hace en todo windows). Pero es más complejo, no ve sentido hacerlo.

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 19-11-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Gracias por las ideas. Comentarios

Cita:
Empezado por Lepe Ver Mensaje
Supongo que solo usas el nombre y extensión para cargar el paquete dinámico.

¿Por qué no usas rutas absolutas? Al hacerlo, si usas ExtractFilePath, mira en la ayuda que es compatible con rutas en formato UNC (si para arrancar el programa usas algo como: \\nombre-servidor\nombrecarpeta\nombreExe.exe) Si usas una ruta de red mapeada (tipo Z:\nombreExe.exe) quizás minimices los problemas.

Otra opción es usar GetEnvironmentVariables y SetEnvironmentVariable para añadir la ruta a la variable de entorno PATH de windows (esto solo modifica la variable de entorno para tu programa, no lo hace en todo windows). Pero es más complejo, no ve sentido hacerlo.

Saludos.
Hola,

Muchas gracias por las ideas propuestas.

Efectivamente, modificar el Path desde el propio programa, o usar rutas absolutas, serían soluciónes en el escenario en que yo mismo estuviera cargando los paquetes; pero no es así.

En mi diseño, es Delphi el que se encarga automáticamente de cargar los paquetes requeridos. Ello es así porque los paquetes manejan utilidades que se usan en casi todas las partes del programa, así que en su momento no le ví (y sigo sin verle), mayor sentido a cargarlas yo bajo demanda específica.

De hecho, el tener el aplicativo compilado por paquetes es porque realmente forma parte de un sistema con muchos programas, donde es frecuente que varios estén siendo usados simultáneamente, conn lo que el esquema por paquetes resulta eficiente.

De todas formas, queda en el aire la pregunta de porque Windows Vista no está buscando automáticamente las librería en ese directorio.

Saludos
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
¿Se puede usar el componente BDE32 con Windows Vista? rrf Conexión con bases de datos 5 26-10-2007 22:52:06
Problema con Ejecutable Delphi y Windows Vista judit25 Varios 0 26-10-2007 19:06:40
Microsoft autoriza a los fabricantes a instalar Windows XP en vez de Windows Vista Ñuño Martínez Noticias 4 26-09-2007 06:11:19
Problema con windows Vista capo979 Firebird e Interbase 2 23-07-2007 17:34:58
Windows cede ante Google y modificará Windows Vista Bicho Noticias 5 20-06-2007 23:31:04


La franja horaria es GMT +2. Ahora son las 01:05:13.


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