Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Cómo instalar y utilizar la librería de components GLIBWMI (https://www.clubdelphi.com/foros/showthread.php?t=94462)

YosvanyRL 21-02-2020 15:20:05

Cómo instalar y utilizar la librería de components GLIBWMI
 
buenos dias a todos en el club de delphi.

Estoy usando delphi 10.3 que es free por un año. Estoy tratando de instalar GLIBWMI 2.2b pero no hace nada de nada.
lo estoy tratando de instalar de la siguiente manera.
1. en el libriry path añadi la direccion de la carpeta sources donde estan todos los .pas
2. abri el proyecto Groupall
3. Compile e instale
y me sale un mensaje que todo esta bien pero cuando pongo por ejemplo :

Código Delphi [-]
 edit1.text:=ProcessorInfo1.ProcessorProperties.DeviceID;

me deja el edit en blanco y no hace nada.

Alguien podria desirme que estoy haciendo mal?

dec 21-02-2020 20:14:34

Hola a todos,

Pareciera que has podido instalar... puesto que dices que el código que has puesto "no hace nada", pero, tampoco dices que falle... entonces, se me ocurre que compruebes si es que acaso "DeviceID" está vacío en tu caso... prueba con otras propiedades / componentes de la librería a ver si te ofrecen resultados... es posible que "DeviceID" no lo haga, pero, ya digo, pareciera que instalar has conseguido instalar la librería...

YosvanyRL 21-02-2020 20:46:53

Instalar GLIBWMI
 
Probe algunos codigos como usted me dijo

Código Delphi [-]
Edit1.Text:=ProcessorInfo1.ProcessorProperties.Caption;
y no sale nada

Código Delphi [-]
Edit1.Text:=ProcessorInfo1.ProcessorProperties.Description;
nada


Código Delphi [-]
Edit1.Text:=ProcessorInfo1.ProcessorProperties.GetFamilyAsString;
nada


Código Delphi [-]
Edit1.Text:=ProcessorInfo1.ProcessorProperties.GetArchitectureAsString;
y me sale 'x86'

si quieres dime un codigo espesifico o una propiedad para ver que pasa.
sera que me falta colocar algo en la uses de la form o lo instale mal?
Lo mas probable es que algo yo haya hecho mal.
podrias chequear si como lo instale esta bien?

YosvanyRL 21-02-2020 20:48:00

Instalar GLIBWMI
 
Como se instala la libreria?

dec 21-02-2020 21:22:44

Hola a todos,

Yo diría que ya has instalado la librería correctamente... hay dos pruebas de ello: no obtienes errores, que, obtendrías de no haber instalado correctamente la librería. La otra prueba es que "GetArchitectureAsString" te retorna "x86", lo que puede ser correcto. En alguna ocasión, en este tipo de librerías, no obtienes los valores esperados, por ejemplo, porque el sistema / ordenador no los proporciona. Yo diría que este es el caso, y, no que no hayas podido instalar la librería. Prueba a ejecutar un programa de ejemplo (mostrando algunas de las propiedades que ya tratas de obtener) en otro ordenador, a ver si en ese caso sí obtienes datos.

YosvanyRL 21-02-2020 22:42:42

abri el demo del procesador que trae el paquete del instalador y cogio todos los datos sin problemas.
de hecho no se porque salia arquitectura x86 ya que tengo w10 64bit que es como sale con tu demo desde delphi

[IMG]c:\Users\Administrator\Desktop\printscreen.JPG[/IMG]

YosvanyRL 21-02-2020 22:44:54

me sale de esta manera
NOmbre: Win32_Processor
descripcion: Intel64 Family 6 Model 142 Stepping 9
arquitectura: x64
processor id: BFEBFBFF000806E9
socket: U3E1
family: 206

etc

YosvanyRL 21-02-2020 23:40:56

este es la unit del software en que estoy probando como funciona

Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, CWMIBase,
  CProcessorInfo;

type
  TForm1 = class(TForm)
    ProcessorInfo1: TProcessorInfo;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=ProcessorInfo1.ProcessorProperties.DeviceID;
end;

end.

dec 22-02-2020 09:06:25

Hola a todos,

Pues sí; es raro que el "demo" te ofrezca datos y no te los ofrezca el código que estás tratando de usar, pero, tienes que entender por dónde va mi respuesta: si no hubieses instalado correctamente la librería, no es ya que no obtuvieses datos, ¡es que tu código no compilaría siquiera! Por eso uno se atreve a decir que la librería se ha instalado correctamente, y que, es otra cosa la que no funciona como se espera.

La librería GLIBWMI puede descargarse desde la página del compañero Germán:

https://neftali.clubdelphi.com/componentes-glibwmi/

Hay un archivo "instalar.txt" que reza lo siquiente:

Cita:

GLibWMI Component Library 1.8beta
===========================================================

INSTALAR / INSTALL
=======================

1) Instala la BPL que hay en el directorio de Lib para tu version de Dlephi:
Install the BPL for your Dephi version located in Lib directory:


2) Abre las demos y compilalas.
Open the demo prjects and compile it.

NOTA: Tal vez te haga falta añadir al path de las librerías al path de busqueda
Maybe you do need to add the path of libraries to search path
En efecto, he abierto el archivo "ProjectPackages.groupproj" desde Delphi, y, compilado e instalado la "GLibWMI.bpl". Nota que al hacer esto, creo que tú has dicho que no ocurre nada, pero, a mí me aparece un mensaje con los componentes que se han instalado:



Ese mensaje también deberías verlo tú al compilar / instalar la BPL en cuestión. También añadí en el "Library path" la ruta de la carpeta "sources", y, a continuación compilé y ejecuté la "demo" "ProcessorInfo", sin problemas, y, mostrándome la información esperada:



O sea... prueba a instalar de nuevo... asegúrate de que puedes ver el mensaje con los componentes instalados... cuando compiles / instales la librería. A continuación, he creado un "proyecto VCL" nuevo, y, he situado un componente "ProcessorInfo" en el formulario. En efecto, si pruebo tu código sin más, me ocurre lo mismo que a ti: no obtengo datos.

Pero... me he fijado en que dicho componente tiene una propiedad "Active"... que es "False" por defecto... si pongo esa propiedad a "True", en tiempo de diseño o de ejecución, ahora sí, obtengo los datos que se esperan. Y llegados a este punto... como sigo pensando que la librería la has instalado correctamente, tienes que revisar esta propiedad "Active" de que te hablo, y, asegurarte de que está en "True", antes de requerir la información que ofrece el componente en cuestión.

dec 22-02-2020 09:07:06

Hola a todos,

Creo que puedes quedarte con la última parte de mi anterior mensaje:

Cita:

Pero... me he fijado en que dicho componente tiene una propiedad "Active"... que es "False" por defecto... si pongo esa propiedad a "True", en tiempo de diseño o de ejecución, ahora sí, obtengo los datos que se esperan. Y llegados a este punto... como sigo pensando que la librería la has instalado correctamente, tienes que revisar esta propiedad "Active" de que te hablo, y, asegurarte de que está en "True", antes de requerir la información que ofrece el componente en cuestión.
Apuesto a que se trata de eso...

YosvanyRL 22-02-2020 13:12:03

Ahora mismo voy camino al tatami a entrenar. En cuanto regrese voy a hacer todo de nuevo y voy a poner active en true como me dises. Muchisimas gracias como siempre y que Dios los Bendiga.

Disen que los libros, los paraguas y las mentes solo sirben si se habren

YosvanyRL 22-02-2020 18:32:04

Gracias por toda la ayuda que he recibido de este club de delphi lleno de gente talentosa.
Active:=true termino resolviendo el problema que tenia con la funcionalidad de este componente que para mi es muy bueno con muchas funciones expectaculares.

Que Dios los siga Bendiciendo a todos.
Gracias una vez mas y que tengan un excelente dia
^\||/
qP:-)

YosvanyRL 22-02-2020 18:32:58

Muchas gracias por todo Dec. Que dios te bendiga

dec 23-02-2020 09:32:25

Cita:

Empezado por YosvanyRL (Mensaje 535880)
Muchas gracias por todo Dec. Que dios te bendiga

¡No hay de qué! :)

Neftali [Germán.Estévez] 24-02-2020 16:04:48

Gracias Dec!!!
;);););):D

dec 24-02-2020 18:10:36

Hola a todos,

¡No hay de qué, Germán! :)


La franja horaria es GMT +2. Ahora son las 12:59:24.

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