Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   "ProductInfo1" de GLibWMi tarda mucho en devolver todos los datos (https://www.clubdelphi.com/foros/showthread.php?t=95465)

geolife 17-11-2021 21:02:06

"ProductInfo1" de GLibWMi tarda mucho en devolver todos los datos
 
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

Cita:

Empezado por geolife (Mensaje 544041)
...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 :)

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 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).



La franja horaria es GMT +2. Ahora son las 19:37:20.

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