Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Es posible hacer que XPManifest sea opcional? (https://www.clubdelphi.com/foros/showthread.php?t=55193)

egostar 10-04-2008 02:57:06

¿Es posible hacer que XPManifest sea opcional?
 
Hola amigos

Estoy en el proceso de crear una aplicación que deseo sea ejecutada en cualquier versión de windows y que asigne la apariencia que corresponda, se que si se usa el XPManifet los programas se verán con la apariencia de XP, sin embargo buscando en el foro encontré esta respuesta de roman:

Cita:

Empezado por roman
Así es. Además, cualquier aplicación compilada con el XPManifest no podrá ejecutarse en ningún otro sistema operativo que no sea Windows XP.

// Saludos

Será que debo hacer dos versiones del programa para que dependiendo de la versión de Windows ejecutar la correcta?

O de plano mejor me quito de problemas y no uso el XPManifest :rolleyes:

Salud OS

dec 10-04-2008 03:13:48

Hola,

Eso suena medio extraño. Creo que el "XPManifiest" se ignora si no se soporta. De hecho alguna de mis aplicaciones me consta que se ejecuta en Windows 98, por ejemplo, y no hay problema en ese sentido. No sé si Román se refería a otra cosa... o puedo estar equivocado. ;)

Black_Ocean 10-04-2008 03:14:33

Cita:

Empezado por egostar (Mensaje 278821)
Hola amigos

Estoy en el proceso de crear una aplicación que deseo sea ejecutada en cualquier versión de windows y que asigne la apariencia que corresponda, se que si se usa el XPManifet los programas se verán con la apariencia de XP, sin embargo buscando en el foro encontré esta respuesta de roman:



Será que debo hacer dos versiones del programa para que dependiendo de la versión de Windows ejecutar la correcta?

O de plano mejor me quito de problemas y no uso el XPManifest :rolleyes:

Salud OS

Eso es erróneo amigo, una aplicación que posea un recurso interno de manifest funcionará en todas las plataformas (desde Windows 95 hasta Vista) pero, la única diferencia que cuando se ejecute en versiones de Windows 2000 o inferior se verá con un estilo visual normal plomo. Lo mismo ocurriría en el caso que el archivo manifest fuera externo (proyecto.exe.manifest). Windows XP y superior se encarga automáticamente de reconocer este recurso interno (si es que lo trae) en el ejecutable y extraerlo para aplicar los estilos visuales a los objetos. En resumen, a esto puntual que preguntabas, el manifest no causará ningún problema o conflicto en versiones antiguas de Windows (obviando Windows 3.1 y 3.11 que son plataformas de 16 bits).

Con respecto a tu otra pregunta, es posible aplicar el estilo visual a objetos por separado, para que sólo algunos objetos del formulario reconozcan el estilo visual de XP y Vista, y los restantes se vean con apariencia normal. Por ejemplo, los objetos/componentes de LMDTools tienen esta cualidad, desde la propiedad CtlXP activas/desactivas un componente X para que reconozca o no el estilo visual.

Espero haberte ayudado.

Saludos y buena suerte y comenten =)

egostar 10-04-2008 03:19:57

Muchas gracias por sus respuestas, con eso ya me siento comodo para usarlo, por desgracia no habia podido probarlo ya que no cuento con versiones de Windows que no sean XP.

Salud OS

jhonny 10-04-2008 15:12:32

Bueno, aunque dec y Black_Ocean ya aclararon la cuestión, debo comentar que de todas formas acabe de hacer la prueba:

Características "relevantes" del programa para este caso:
- Compilado con D2007.
- Tiene el XPManifest.

Sistemas operativos en los que fue probado:
- Windows Vista.
- Windows XP.
- Windows 98.

No tuve problema alguno, en ninguno de los sistemas operativos mencionados.

cHackAll 10-04-2008 16:24:37

Aunque creo que la duda ha sido satisfecha me parece que la pregunta estaba orientada a otra cosa. Si no fue así dejo mi post como una aclaración adicional con las siguientes APIs;

Código Delphi [-]
function EnableTheming(fEnable: LongBool): Cardinal; stdcall; external 'uxtheme';
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 EnableTheming(False);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
 EnableTheming(True);
end;

La API EnableTheming va a habilitar o deshabilitar los temas de XP, lo que significa que al presionar el Button1, el S.O. quedará como el Win2k :p

Código Delphi [-]
function SetWindowTheme(hWnd: Cardinal; Optional, pszSubAppName: PChar): Cardinal; stdcall; external 'uxtheme';
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 SetWindowTheme(Button1.Handle, ' ', ' ');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
 SetWindowTheme(Button1.Handle, nil, nil);
end;

SetWindowTheme va a tener el mismo efecto que la anterior API, con la diferencia que va a actuar sobre un solo objeto, el cual puede ser una ventana en particular o una lista o un boton ;)

Obviamente ésto, aplicable a los SOs a los que M$ todavia da soporte a la fecha :rolleyes:

Saludos

egostar 10-04-2008 16:35:29

Gracias amigo jhonny, con eso se reafirma mi sensación de tranquilidad :)

Amigo cHackAll, como siempre me es muy grato ver tus post de las API's de windows y aunque mi duda ya ha quedado satisfecha, se que esto que colocas me va a sacar de algún imprevisto :)

Salud OS

roman 11-04-2008 21:24:34

¡Oh! ¡Vaya! No perdonan una. ¿Qué no puede uno equivocarse? Tanto me han zumbado los oídos con esta exhibición pública de mi ignorancia que he venido aquí a defender lo indefendible.

¿Por qué dije yo eso? La verdad, no recuerdo bien. Supongo que eran las épocas del Delphi 6 y la transición a Windows XP. He buscado referencias y encontré ésta, no muy convincente, pero al menos habla de los problemas que puede dar una aplicación compilada con delphi seis ejecutándose en otro entorno que no fuere XP.

Digo esto para descargo de mi conciencia y en resarcimiento de todo aquél que no haya incluido su XP Manifest en sus aplicaciones a causa de mi insensatez.

:D

// Saludos

eduarcol 11-04-2008 21:36:08

Cita:

Empezado por roman (Mensaje 279386)
¡Oh! ¡Vaya! No perdonan una. ¿Qué no puede uno equivocarse? Tanto me han zumbado los oídos con esta exhibición pública de mi ignorancia que he venido aquí a defender lo indefendible.

¿Por qué dije yo eso? La verdad, no recuerdo bien. Supongo que eran las épocas del Delphi 6 y la transición a Windows XP. He buscado referencias y encontré ésta, no muy convincente, pero al menos habla de los problemas que puede dar una aplicación compilada con delphi seis ejecutándose en otro entorno que no fuere XP.

Digo esto para descargo de mi conciencia y en resarcimiento de todo aquél que no haya incluido su XP Manifest en sus aplicaciones a causa de mi insensatez.

:D

// Saludos

Hombre o estoy viendo visiones o es el gran Roman de vuelta por estos lares?? :rolleyes:

ixMike 11-04-2008 21:37:10

Cita:

Empezado por eduarcol (Mensaje 279389)
Hombre o estoy viendo visiones o es el gran Roman de vuelta por estos lares?? :rolleyes:

ídem, ídem, ídem...... :eek::eek::eek:

egostar 11-04-2008 22:03:39

Cita:

Empezado por roman (Mensaje 279386)
¡Oh! ¡Vaya! No perdonan una. ¿Qué no puede uno equivocarse? Tanto me han zumbado los oídos con esta exhibición pública de mi ignorancia que he venido aquí a defender lo indefendible.

:eek::eek::eek:, bueno pues mea culpa :o pero es que eres referencia del 100% de los compañeros del club..... :)

Cita:

Empezado por roman (Mensaje 279386)
¿Por qué dije yo eso? La verdad, no recuerdo bien. Supongo que eran las épocas del Delphi 6 y la transición a Windows XP. He buscado referencias y encontré ésta, no muy convincente, pero al menos habla de los problemas que puede dar una aplicación compilada con delphi seis ejecutándose en otro entorno que no fuere XP.

Pues para saber que pasó en ese momento de la historia, y si, el hilo de donde obtuve esa información data del 2004, muy muy muy viejo casi como Caral :D:D:D

Cita:

Empezado por roman (Mensaje 279386)
Digo esto para descargo de mi conciencia y en resarcimiento de todo aquél que no haya incluido su XP Manifest en sus aplicaciones a causa de mi insensatez.

:D

// Saludos

Bueno, pues una vez descargada tu conciencia, welcome back amigo roman :)

Salud OS

Al González 11-04-2008 23:57:35

Cita:

Empezado por roman (Mensaje 279386)
...Digo esto para descargo de mi conciencia y en resarcimiento...

Esperemos que no sea ese el único tipo de motivo para regresar a escribir en estos foros (reparar alguna falta, en este caso menor), porque igual y se pasa otro año sin tus mensajes. ;)

Es bueno verte de regreso Román. Por cierto, hay un hilo en POO donde menciono la pena de tu ausencia por estar seguro de que te prestarías a resolver eficazmente el planteamiento ahí vertido (es de hace como ocho meses).

Saludos.

Al González.

roman 12-04-2008 00:53:49

Cita:

Empezado por Al González (Mensaje 279432)
Esperemos que no sea ese el único tipo de motivo para regresar a escribir en estos foros

No, claro que no. Lo que realmente me hizo volver es Casimiro. Es que hoy por la mañana me llegó el tip, de que estaba recomendando un software no libre, habiendo alternativas libres. Fue tal el shock, que me pregunté ¿qué pasa en este mundo vuelto de cabeza? Tenía que verlo con mis propios ojos.

:D

// Saludos

Casimiro Notevi 12-04-2008 01:05:45

Cita:

Empezado por roman (Mensaje 279442)
No, claro que no. Lo que realmente me hizo volver es Casimiro. Es que hoy por la mañana me llegó el tip, de que estaba recomendando un software no libre, habiendo alternativas libres. Fue tal el shock, que me pregunté ¿qué pasa en este mundo vuelto de cabeza? Tenía que verlo con mis propios ojos.:D
// Saludos


:o Al principio leí algo como "código fuente incluido" y pensé que era opensource, luego me di cuenta de mi error, pensé que nadie se daría cuenta :o

Aunque si ha servido para que regreses de nuevo, bienvenido sea, me comprometo a comprarlo, ha valido la pena :D ... y es que, ya se sabe, por los amigos se hace cualquier cosa :)

Al González 12-04-2008 02:38:54

Cita:

Empezado por roman (Mensaje 279442)
No, claro que no. Lo que realmente me hizo volver es Casimiro. Es que hoy por la mañana me llegó el tip, de que estaba recomendando un software no libre, habiendo alternativas libres. Fue tal el shock, que me pregunté ¿qué pasa en este mundo vuelto de cabeza? Tenía que verlo con mis propios ojos.

:D

// Saludos

:eek: Entonces hay que pedirle a Casimiro que siga recomendando software propietario. Con algo de suerte hará que regrese Ian Marteens y hasta el mismísimo Blaise Pascal se saldrá de su tumba para ayudarle a Andreano con la chamba. :p

Un abrazo asombroso.

Al González.

Casimiro Notevi 12-04-2008 14:13:05

Cita:

Empezado por Al González (Mensaje 279488)
:eek: Entonces hay que pedirle a Casimiro que siga recomendando software propietario. Con algo de suerte hará que regrese Ian Marteens y hasta el mismísimo Blaise Pascal se saldrá de su tumba para ayudarle a Andreano con la chamba. :p
Un abrazo asombroso.
Al González.

Pues ahora que lo dices... conozco un programita que... déjame buscar y luego hablo sobre él :D


La franja horaria es GMT +2. Ahora son las 00:12:25.

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