PDA

Ver la Versión Completa : "ProductInfo1" de GLibWMi tarda mucho en devolver todos los datos


geolife
17-11-2021, 21:02:06
Hola amig@s,

Estoy usando los componentes que ha proporcionado Neftali (Librería GLibWMi versión 3.1 ) instalada a través del Getit package de Embarcadero, que por cierto son una maravilla, y tengo un problema concreto con "ProductInfo1", cuando coloco el componente en una unidad de Datos y lo activo para ver el contenido de las propiedades, se queda congelado durante más de 30 segundos todo el sistema, ocurre lo mismo si lo activo en Runtime. Estoy trabajando con la versión Delphi Professional 10.4.2, el resto de componentes que he usado (Biosinfo,Processor,Printers, etc. funcionan sin demora); quizás sea algo de mi propia configuración, y era para contrastar o testar con alguien que haga uso de los mismos.

Saludos.

Neftali [Germán.Estévez]
18-11-2021, 09:48:12
...tengo un problema concreto con "ProductInfo1", cuando coloco el componente en una unidad de Datos y lo activo para ver el contenido de las propiedades, se queda congelado durante más de 30 segundos todo el sistema, ocurre lo mismo si lo activo en Runtime.


Hola geolife.
No es un problema del componente, es de la consulta que hace a WMI. WMI está bien porque es estandard, pero no es la tecnología más rápida que hay. :(
En mi caso también tarda aproximadamente unos 30 sg y recupera 390 elementos.
He probado desde la línea de comandos (WMIC product) y desde otro programa para recuperar estos datos y el tiempo es más o menos igual.

Una opción es poner el proceso dentro de un thread. No lo he probado y es un buen ejemplo, a ver si funciona. No debería ser complicado.

También depende de si realmente quieres recuperar la información de TODOS los productos o sólo estás buscando información de uno o varios. En ese caso se podría optimizar la consulta (lo apunto como posible optimización).

geolife
18-11-2021, 11:09:53
Muchas gracias Germán por tu rápida respuesta,

Si es una cuestión de lentitud de ese proceso en concreto, lo más sensato como tú has apuntado, sera intentar lanzar dicho proceso de forma asincrona para que no paralice el arranque de la aplicación. Saludos :)

;544048']Hola geolife.
No es un problema del componente, es de la consulta que hace a WMI. WMI está bien porque es estandard, pero no es la tecnología más rápida que hay. :(
En mi caso también tarda aproximadamente unos 30 sg y recupera 390 elementos.
He probado desde la línea de comandos (WMIC product) y desde otro programa para recuperar estos datos y el tiempo es más o menos igual.

Una opción es poner el proceso dentro de un thread. No lo he probado y es un buen ejemplo, a ver si funciona. No debería ser complicado.

También depende de si realmente quieres recuperar la información de TODOS los productos o sólo estás buscando información de uno o varios. En ese caso se podría optimizar la consulta (lo apunto como posible optimización).