Inicio > Delphi, GLibWMI > Versión 2.0 (beta) de la librería GLibWMI

Versión 2.0 (beta) de la librería GLibWMI

Share Button

Hace tiempo que algunos de vosotros me habéis comentado que trabajáis en las últimas versiones de Delphi con la librería GLibWMI. Con pocos cambios se puede conseguir que estos componentes funcionen perfectamente en la nuevas versiones.

En concreto esta versión está compilada con XE4 y anteriores.

Aquí tenéis una imagen de la paleta de componentes (D6).

PaletaComponentesv2

Os adjunto un pequeño resumen de los cambios y modificaciones introducidos.

COMPONENTES MODIFICADOS

Se ha añadido lo necesario para que la librería funcione correctamente en versiones posteriores a Delphi XE2. Incluida la próxima XE5.

Se han añadido nuevas propiedades al componente NetworkAdapterInfo.

Corregidos errores menores en el componentes ProcessInfo.

 

 

NUEVOS COMPONENTES

Se ha añadido a la librería nuevos componentes, que siguen la estructura de los existente para acceder a más clases de WMI. Además un componente genérico (en su primera versión) que nos permite acceder por SQL a cualquier clase de WMI (para las no existentes entre los componentes).

BootConfigurationInfo: Componente para acceder a la configuración de “boot” de un ordenador que ejecuta un sistema Windows.

CDROMDriveInfo: Permite acceder a la información de una unidad de CD-ROM existente en un ordenador con Windows.

CodecFileInfo: Permite acceder a la información de todos los codecs (compres/decompress) de audio o video instalados en el equipo.

DesktopInfo: Permite acceder a las características comunes de escritorio de un usuario. Las propiedades de esta clase pueden ser modificados por el usuario para personalizar el escritorio.

RegistryInfo: Permite acceder a las propiedades de la clase que representa al registro de windows de la máquina.

TimeZoneInfo: Componente para acceder a la clase Win32_TimeZone, que representa la información de zona horaria para un ordenador con Windows, que incluye los cambios necesarios para realizar la transición entre cambios horarios.

Componente SQL : Componente para acceder de forma genérica a las propiedades de WMI.

Una imagen de la demo general con todos los componentes:

Demo general

DESCARGA

Podéis descargar la última versión desde la sección dedicada a la librería.

Como siempre cualquier sugerencia  y comentario será bienvenido.

Un saludo.

Vota este post
Categories: Delphi, GLibWMI Tags: , ,
Subscribe
Notify of
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

10 Comments
Inline Feedbacks
Ver todos los comentarios
dec
dec
10 years ago

Gracias Germán, nunca se sabe si estos componentes (o sea tu trabajo) podrá resultarnos útil en el futuro, aunque, si uno necesita información sobre el sistema sin duda parece ser una buena forma de conseguirla. :)

Al González
10 years ago

Hola Germán.

Leí en Club Delphi algo sobre lograr compilar GLibWMI en Delphi 7. Así que lo puse en la agenda para intentar ayudar con eso este fin de semana. Lo extraño es que ya no aparece el hilo donde se mencionaba esta cuestión, ¿alguna razón por la cual desapareció? A mí me parecía una muy buena noticia.

Bueno, puede que esto me lleve algo de tiempo por no disponer de mucho, pero lo primero que hice fue descargar la versión 2.0b de la biblioteca (si fuera conveniente comenzar con otra, sólo indicarme cuál).

Veo que no hay mucho problema para compilar unas cuantas unidades que ya puse en un Uses a manera de prueba. Pero me llama la atención que utilizas ámbitos de unidades («unit scopes») a partir de la versión 8 de Delphi, siendo que los ámbitos de unidades surgieron hace poco tiempo (en XE2, si no me equivoco).

Bueno, ya me dirás por dónde dirigir este pequeño esfuerzo. Si necesitas que pruebe algo en concreto, sólo decirme, estaré cerca.

Un saludo.

Al González.

Al González
10 years ago

@Al González
Hola Germán, yo de nuevo. :)

Todo salió bien con la compilación en Delphi 7. El demo PGenericTest parece ejecutarse bien (Windows XP), sólo se necesitó comentar la línea «tkUString: s.add(EvalStringProperty(PropInfo))» de la unidad OI.pas, dado que tkUString, como sabes, es una constante referente a Unicode.

Me avisas sobre cualquier otra cosa en la que pueda ayudar.

Saludos.

Al González.

Al González
10 years ago

@Germán Estévez
El detalle es que Delphi 2007, 2009, 2010 y varias otras no reconocerán las referencias «System.Classes», «VCL.Controls», etc.

http://docwiki.embarcadero.com/RADStudio/XE4/en/Compiler_Versions

Esa tabla de versiones puede resultar un poco confusa. CompilerVersion 16.0 se refiere a la versión 16 del compilador (Delphi 8), no a la versión 16 de Delphi. :)

Por lo cual creo que, en lo referente a ámbitos de unidades, en lugar de:

{$IF CompilerVersion >= 16.0}

debe ser:

{$IF CompilerVersion >= 23.0} // Delphi XE2 y posteriores

Espero haberme explicado.

Saludos. :)

Al González
10 years ago

@Germán Estévez
En cuanto a los cambios que hubo que hacer para compilar, la biblioteca no necesitó ninguno. Sólo el programa demo requirió que se comentara la línea que mencioné antes de la unidad OI.pas:

“tkUString: s.add(EvalStringProperty(PropInfo))”

Saludos.

10
0
Would love your thoughts, please comment.x
()
x