Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Problemas de Privilegios en Delphi

Hola, he estado trabajando en un aplicacion en delphi2010, la cual lleva un control de procesos internos de una aplicacion y todo anda de maravilla con ello.

Pero esta aplicacion debe mostrar la velocidad del procesador y el nombre del procesador, para obtener el nombre del procesador utilizo la siguiente funcion:

Código Delphi [-]
function NombreProcesador:string;
var
Registro:TRegistry;
begin
  Result:='';
  Registro:= TRegistry.Create;
  try
    Registro.RootKey:= HKEY_LOCAL_MACHINE;
    if Registro.OpenKey('\Hardware\Description\System\CentralProcessor\0', True) then
     Result:= Registro.ReadString('ProcessorNameString');
  finally
  Registro.Free;
  end;
end;

Bueno el problema es que al compilar un Tlabel deberia mostrar el nombre del procesador, pero simplemente no muestra nada.

Despues ejecute el .exe generado por el proyecto mediante ejecutar como administrador y me desplego excelete el nombre del procesador, de igual forma la velocidad del procesador.

Esta aplicacion es para una tarea de mi clase de programacion, pero lamentablemente mi catedratico dice que la aplicacion debe mostrar esta informacion sin tener que ejecutarla como administrador.

Si alguien tiene una idea de como solucionar esto, le agradeceria mucho, de antemano muchas gracias.

P.D. Trabajo en Windows 7 Ultimate 32 bits, procesador Intel(R) Core(TM) i3 CPU.
Responder Con Cita
  #2  
Antiguo 03-08-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.470
Poder: 21
newtron Va camino a la fama
Hola.

He hecho una búsqueda por internet y he encontrado estas dos páginas:

Para averiguar el procesador:

http://www.rinconcitodelphi.com/trucos/IApi2.htm

Para averiguar la velocidad del procesador:

http://delphiallimite.blogspot.com/2...ador-y-su.html

Espero que te sirvan.
Saludos
Responder Con Cita
  #3  
Antiguo 03-08-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes utilizar las librerías GLibWMI (web / sourceforge).
Entre las demos hay una para obtener características del procesador; Revisa a ver si es lo que necesitas. La información que obtienes es similara esta:



Si hay varis procesadores, obtienes la información para cada uno:

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 03-08-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Gracias por responder

Hola, estoy muy interesado en las librerias GLibWMI, los demos funcionan excelente, he intentado compilar los fuentes, pero al intentar abrirlos con delphi2010, me generar errores en cada uno de los fuentes.

Al intentar compilar GLibWMI que esta en la carpeta Package, me topo con este error :

Código:
[DCC Fatal Error] WbemScripting_TLB.pas(4626): F2039 Could not create output file 'c:\Archivos de programa\Borland\Delphi6\Tools\Developer Express Inc\dcus\WbemScripting_TLB.dcu'
Funciona para delphi2010, encontre esto:

Para generar la unit se deben seguir los pasos desde el IDE de Delphi:
  1. Project / Import Type Librery
  2. Seleccionar: “Microsoft DTSPackage Object Library (Versión X.X)”
  3. Create Unit
La unit creada se deberá añadir al USES del proyecto.




Pero en Delphi2010 no encuentro la opcion import Type Librery.


Como puedo instalarla estas librerias, ya que es justo lo que necesito resuelve mi problema anterior, de antemano, muchas gracias.
Responder Con Cita
  #5  
Antiguo 03-08-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por gersojn Ver Mensaje
...al intentar abrirlos con delphi2010, me generar errores en cada uno de los fuentes.

Al intentar compilar GLibWMI que esta en la carpeta Package, me topo con este error :

Código:
[DCC Fatal Error] WbemScripting_TLB.pas(4626): F2039 Could not create output file 'c:\Archivos de programa\Borland\Delphi6\Tools\Developer Express Inc\dcus\WbemScripting_TLB.dcu'
Bueno, este e un descuido mío. añadí al proyecto de descarga mis ficheros de configuración.
Eso lo que significa es que está intentando guardar los ficheros compilados (DCU) en ese directorio. Como tú no lo debes tener, falla.
Ves a las opciones del configuración del proyecto que estás compilando y cambialo por otro o elimina esa ruta.

Cita:
Empezado por gersojn Ver Mensaje
Funciona para delphi2010, encontre esto:
...
Pero en Delphi2010 no encuentro la opcion import Type Librery.
Prueba en el menú Component / Import Component
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 03-08-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Nuevamente gracias por responder

Perdon por tantas molestias, pero sigo teniendo problemas al instalar las librerias, hize lo siguiente.

Importe la libreria como me explicaste anteriormente y me genero el WbemScripting_TLB.pas y WbemScripting_TLB.dcu y WbemScripting_TLB.dcr, despues intente compilar y me genero nuevamente el problema con el directorio, intente cambiarle el directorio y no lo logre, despues pormedio de un opset al compilar me creo el directorio C:\Program Files\Borland\Delphi6\Tools\Developer Express Inc\dcus, pero me seguia dando error.

Opte por ejecutar delphi como administrador y abrir el proyecto, luego copie
WbemScripting_TLB.pas y WbemScripting_TLB.dcu y WbemScripting_TLB.dcr al directorio C:\Program Files\Borland\Delphi6\Tools\Developer Express Inc\dcus y al compilar me genero este error:

Código:
Cannot run project unless a host application is defined. Use the Run|Parameters.... dialog box.
y en los mensajes del compilador me muestra lo siguiete:
[DCC Hint] CEnvironmentInfo.pas(191): H2164 Variable 'vArr' is declared but never used in 'TEnvironmentInfo.FillProperties'

[DCC Hint] CEnvironmentInfo.pas(92): H2219 Private symbol 'fConnected' declared but never used


Compile el ejemplo de utilizacion de WMI con deplhi-1, para obtener informacion del disco duro, y me funcion perfectamente.

Que es lo que esta mal?

Aprovechando me gustaria hacer una consulta, esta aplicacion que estoy desarrollando, tiene que mostrar la direccion en memoria de un proceso y una funcion.

encontre un sintaxis en internet pero no me funciona,

var
punteroMetodo: procedure(parametro, otro: string) of object;
punteroMetodoFunc: function(const parametro, otro: char): boolean of
Me interesa en especificio para el procedimiento, mi procedimiento es sencillo, no lleva parametros, es de este tipo:

Código Delphi [-]

procedure procedimiento1();
begin

......

end;


de antemano muchas gracias, y perdon por tantas molestias.
Responder Con Cita
  #7  
Antiguo 03-08-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por gersojn Ver Mensaje
(1)
...intente cambiarle el directorio y no lo logre, despues pormedio de un opset al compilar me creo el directorio C:\Program Files\Borland\Delphi6\Tools\Developer Express Inc\dcus, pero me seguia dando error.

(2)
Código:
Cannot run project unless a host application is defined. Use the Run|Parameters.... dialog box.
(3)
y en los mensajes del compilador me muestra lo siguiete:
[DCC Hint] CEnvironmentInfo.pas(191): H2164 Variable 'vArr' is declared but never used in 'TEnvironmentInfo.FillProperties'

[DCC Hint] CEnvironmentInfo.pas(92): H2219 Private symbol 'fConnected' declared but never used
(1) Debes modificar ese directorio. Revisa las opciones del Packages o de los proyectos de demo que estás compilando.

(2) Eso es porque le das a ejecutar cuando tienes seleccionado un package. Sólo puedes ejecutar las demos.

(3) Son Hints; No afecta a la compilación y ejecución del proyecto. Son como "recomendaciones" que te da el compilador.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 03-08-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Hola, gracias por las respuestas

Hola, cuando intento abrir los Delphi Project File, me genera el siguiente error:

1-

Class TProcessorInfo not found. Ignore the error and continue? NOTE: Ignoring the error may cause components to be deleted or property values to be lost.

Esto me lo muestra en un dialogo con 3 opciones Ignore, Cancel y Ignore All.

2-
Como puedo obtener la direccion en memoria de un proceso, y desplegarla ya sea en ShowMessage(); o por un TLabel.

Gracias por la ayuda brindada, y por tomarse tantas molestias.
Responder Con Cita
  #9  
Antiguo 03-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

El primer error se produce por que no tienes instalado ningún paquete que contenga el componente referido en el error (TProcessorInfo).

Para tu segunda duda, te recomiendo que le des una leida a la Guía de Estilo. Verás que ahí se indica que para dudas nuevas o diferentes al tema tratado en un hilo, se debe empezar un hilo nuevo...


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #10  
Antiguo 03-08-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Gracias

Gracias, cree un nuevo hilo para la otra duda, gracias por la correccion.
Responder Con Cita
  #11  
Antiguo 03-08-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por gersojn Ver Mensaje
Esta aplicacion es para una tarea de mi clase de programacion, pero lamentablemente mi catedratico dice que la aplicacion debe mostrar esta informacion sin tener que ejecutarla como administrador.

Si alguien tiene una idea de como solucionar esto, le agradeceria mucho, de antemano muchas gracias.
Debes establecer la propiedad ReadOnly de TRegistry a True. Así evitas que el componente intente acceder con permisos de escritura a partes del registro que solamente puede leer, como HKEY_LOCAL_MACHINE.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación con privilegios de administrador vtorres Varios 8 07-11-2008 16:59:38
Roles - Usuarios y privilegios Osorio Firebird e Interbase 2 13-02-2004 23:34:31
Privilegios en interbase acrophet Conexión con bases de datos 1 09-02-2004 15:07:35


La franja horaria es GMT +2. Ahora son las 00:44:05.


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
Copyright 1996-2007 Club Delphi