Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Delphi vs WinVista (https://www.clubdelphi.com/foros/showthread.php?t=54652)

Ledian_Fdez 26-03-2008 16:05:39

Delphi vs WinVista
 
Holas Delficianos:
Amigos me han dado la tarea de investigar acerca de la compatibilidad de aplicaciones creadas en delphi(5,6,7) con Window Vista, la preocupacion es que tenemos una aplicacion creada en Delhpi6 donde se teme que no corra bien sobre Window Vista.¿Que hay de verdad en todo esto?

salu2
Ledian

PD: Grasias de antemano.

Lepe 26-03-2008 16:24:58

Dependerá de qué uses en esa aplicación y cómo la uses.

- Si escribes en algún fichero de "C:\Archivos de programa" ya tienes una incompatibilidad.
- Si requieres permisos de administrador para copiar, mover archivos o trabajar con el registro o cosas de ese estilo, pues ya tendrás otro problema aparte.

Yo tengo un programa con el BDE funcionando en windows vista, en modo local y en modo red con varios windows XP y el programa funciona perfectamente.

Saludos

JXJ 26-03-2008 21:17:11

la incompatibilidad es en sentido binario.
por el ejecutable.

lo que dice lepe, sobre hacer operaciones en c:\archivos de programa
o en c:\
es la nueva seguridad que vista agrega. y por ello
se recomienda que tu aplicacion use. el directorio especial de usuario
para crear y modificar ahi sus datos que la aplicacion usa, dijamos
archivos ini, xml, de imagenes. archivos temporales

Lepe 26-03-2008 21:44:48

JXJ no entiendo esta frase: "la incompatibilidad es en sentido binario.
por el ejecutable."

Mi aplicación está hecha en delphi 6 y aún la modifico con dicha versión. No he tenido que activar "la compatibilidad con versiones anteriores" de windows ni nada por el estilo.

Saludos

egostar 26-03-2008 22:09:55

Cita:

Empezado por Lepe (Mensaje 275490)
JXJ no entiendo esta frase: "la incompatibilidad es en sentido binario.
por el ejecutable."

Mi aplicación está hecha en delphi 6 y aún la modifico con dicha versión. No he tenido que activar "la compatibilidad con versiones anteriores" de windows ni nada por el estilo.

Saludos

Hola Lepe, yo normalmente uso el registro de windows para escribir ciertos parámetros en especifico en HKEY_LOCAL_MACHINE\Software, esto lo he hecho en todas las versiones de windows sin problema, mi duda es
  1. ¿Se tiene problemas para hacer esto con Vista?
  2. Si es asi, ¿En que Key se tiene problema?, en cualquiera o solo en HKEY_LOCAL_MACHINE

Yo he "corrido" practicamente para usar Vista e incluso uno de mis requerimientos de instalación es NO VISTA......

Solo estoy en espera de que salga la nueva versión de Windows para evitarme la pena... :D:D:D

Salud OS

Chris 26-03-2008 22:30:38

Cita:

Empezado por Lepe (Mensaje 275364)
Dependerá de qué uses en esa aplicación y cómo la uses.

- Si escribes en algún fichero de "C:\Archivos de programa" ya tienes una incompatibilidad.
- Si requieres permisos de administrador para copiar, mover archivos o trabajar con el registro o cosas de ese estilo, pues ya tendrás otro problema aparte.

Yo tengo un programa con el BDE funcionando en windows vista, en modo local y en modo red con varios windows XP y el programa funciona perfectamente.

Saludos

Cita:

Empezado por egostar (Mensaje 275495)
Hola Lepe, yo normalmente uso el registro de windows para escribir ciertos parámetros en especifico en HKEY_LOCAL_MACHINE\Software, esto lo he hecho en todas las versiones de windows sin problema, mi duda es
  1. ¿Se tiene problemas para hacer esto con Vista?
  2. Si es asi, ¿En que Key se tiene problema?, en cualquiera o solo en HKEY_LOCAL_MACHINE
Yo he "corrido" practicamente para usar Vista e incluso uno de mis requerimientos de instalación es NO VISTA......

Solo estoy en espera de que salga la nueva versión de Windows para evitarme la pena... :D:D:D

Salud OS

Hola,
El problema, que se da al tratar escribir en estos directorios o claves de registro dentro de Vista, es que auque estemos logueados como administradores, Vista no da credenciales de administrador a menos que lo ejecutemos la aplicación explicitamente de esta forma (Menu Contextual -> Ejecutar como Administrador)

La solución a este problema, hasta adonde de escuchado y comprendido, es por medio de el "manifiest" del ejecutable, con éste, el sistema automáticamente preguntará al usuario si desea darle privilegios administrativos a nuestra aplicación.

El problema es que no he visto un ejemplo claro y que funcione con mi aplicación Delphi.

Saludos.

mamcx 26-03-2008 22:30:40

Si, esa rama es privilegiada.

La correcta es CURRENT_USER.

La guia oficial que existe desde Win95, de como se deben hacer los programas esta en:

http://www.innovateon.com/product_vista.aspx

Es el famoso programa "Certificado para Windows". No es necesario pagar ni nada para conocer y validar localmente los requisitos.

Este indica cosas que pocos analizan, como que un programa deberia poder instalarse si el disco C: no existe, si las carpetas del sistema cambian de nombre, etc...

De hecho, hay muy poco en Vista que antes no se supiera, solo que ahora POR FIN!!!! se obligan estas normas...

egostar 26-03-2008 22:38:35

Cita:

Empezado por mamcx (Mensaje 275501)
Si, esa rama es privilegiada.

La correcta es CURRENT_USER.

La guia oficial que existe desde Win95, de como se deben hacer los programas esta en:

http://www.microsoft.com/latam/socio...o_windows.aspx

Es el famoso programa "Certificado para Windows". No es necesario pagar ni nada para conocer y validar localmente los requisitos.

Este indica cosas que pocos analizan, como que un programa deberia poder instalarse si el disco C: no existe, si las carpetas del sistema cambian de nombre, etc...

De hecho, hay muy poco en Vista que antes no se supiera, solo que ahora POR FIN!!!! se obligan estas normas...

El problema de usar HKEY_CURRENT_USER es por ejemplo, en el registro escribo la configuración de mis puertos seriales y si por alguna razón entran con otro usuario esos valores no se pueden leer, es por eso que uso HKEY_LOCAL_MACHINE, claro que me queda el último recurso de recurrir a archivos planos dentro del directorio de mi aplicación :rolleyes::rolleyes:

En fin, que joder con ese Vista......:D

Salud OS

Chris 26-03-2008 22:46:33

Cita:

Empezado por egostar (Mensaje 275503)
El problema de usar HKEY_CURRENT_USER es por ejemplo, en el registro escribo la configuración de mis puertos seriales y si por alguna razón entran con otro usuario esos valores no se pueden leer, es por eso que uso HKEY_LOCAL_MACHINE, claro que me queda el último recurso de recurrir a archivos planos dentro del directorio de mi aplicación :rolleyes::rolleyes:

En fin, que joder con ese Vista......:D

Salud OS

Ego, XP tampoco te deraría escribir sobre si HKEY_LOCAL_MACHINE no eres administrador. El arte está en saber dividir las configuración de "usuario" y la configuración de "sistema".

egostar 26-03-2008 22:49:10

Cita:

Empezado por D&W (Mensaje 275504)
Ego, XP tampoco te deraría escribir sobre si HKEY_LOCAL_MACHINE no eres administrador. El arte está en saber dividir las configuración de "usuario" y la configuración de "sistema".

Si, de hecho cualquier sistema que instales obliga a firmarse como administrador para escribir en el registro, después de eso, cualquier usuario puede leer que es lo que me interesa... :)

Salud OS

mamcx 26-03-2008 22:53:35

Entonces debes ESCRIBIR con el instalador con privilegios de administrador y LEER sin privilegios.

Ademas, es posible asignar los permisos a las subramas de igual manera que con los directorios de archivos.

El link que les puse estan todos los lineamientos que se deben seguir practicamente desde Windows 2000.

Cada vez que se dificulta la vida de usar una simple aplicacion porque exige permisos de administrador, cuando los usuarios no ven practico correr el sistema con privilegios minimos porque su aplicacion favorita de recetas de cocina se cree un sistema critico, que escribe en directorios "clavados" como cuando mi sistema esta en español pero instala en "Program files", en fin, es por cosas como estas...


La franja horaria es GMT +2. Ahora son las 19:43:46.

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