[Lazarus-es] OpenDialog y Vista

JoshyFun joshyfun en gmail.com
Mar Oct 13 18:06:18 CEST 2009


Hello Antonio,

Tuesday, October 13, 2009, 5:03:02 PM, you wrote:

ACM> Tengo un pequeño problema con Lazarus, y windows Vista. En mi programa,
ACM> hago uso de un componente TOpenDialog, pero en Win-Vista produce un
ACM> error en tiempo de ejecución.
ACM> Sin embargo, en las versiones anteriores (Xp, 2k, ...) no da error.

Si te da error de ejecución hay algo mal, ya que debería funcionar
perfectamente en todas las versiones de Windows incluido "Seven", eso
si, con el "look" de windows clásico tipo XP, no con el de vista ni el
de seven. ¿ Qué Lazarus usas ? ¿ Puedes generar un proyecto pequeño que
te lance el error de ejecución para buscar el problema ?

ACM> tratado de hacer uso de las directivas condicionales como:
ACM> /  uses
ACM>    Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ACM>   {$IFDEF WIN32}
ACM>     Windows;
ACM>   {$ENDIF}
ACM>   {$IFDEF Unix}
ACM>     ports;
ACM>   {$ENDIF}
ACM> /
ACM> Pero así no obtengo en realidad qué windows es ... ¿Alguna idea o
ACM> sugerencia?

No necesitas condicionales de compilación, ya que estos sólo te dirán
si es Windows u otro sistema operativo, pero no la versión del mismo.
Eso sólo puedes hacerlo en "runtime", para ello haz uso del "uses
winver;" y tendrás acceso a Win32Platform, Win32MajorVersion, ....
Para una explicación de cada cosa esta web.

http://www.mydigitallife.info/2008/12/29/windows-build-version-interpretation-explanation-and-definition/

-- 
Best regards,
 JoshyFun





More information about the Lazarus-es mailing list