Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Sobre la función StartService y sus parámetros

Hola,

Existe en la unidad "WinSvc" una función de nombre "StartService". De la documentación en la ayuda de Win32:

Código:
BOOL StartService(
    SC_HANDLE hService,    // handle of service 
    DWORD dwNumServiceArgs,    // number of arguments 
    LPCTSTR *lpServiceArgVectors     // address of array of argument string pointers  
   );
Es el caso que el segundo y tercer parámetros son opciones, puesto que acaso el Servicio a iniciar no los requiere. En este caso "dwNumServiceArgs" ha de valer "0" y "lpServiceArgVectors" ser "nulo". En Delphi el asunto quedaría de este modo, pues:

Código Delphi [-]
begin
   {...}
   StartService(hService, 0, nil);
end;

Ahora bien, suponiendo que un determinado Servicio requiera de algún parámetro... ¿cómo se los haríamos llegar? O sea, no entiendo cómo trabajar con el parámetro de tipo "lpServiceArgVectors" en la función "StartService".

Entiendo que es un "puntero" lo que hay que pasar a la función, y de hecho podemos hacer algo así:

Código Delphi [-]
var
  {...}
  args: PChar;
begin
    {...}
   args := 'unparametro';
    StartService(hService, 0, args);
 end;

O como mucho se me ocurre esto:

Código Delphi [-]
var
  {...}
  args: PChar;
begin
    {...}
   args := 'unparametro';
    StartService(hService, 1, args);
 end;

Que acaso sea algo más acercado que lo anterior, porque al menos aquí indicamos que se le envía un parámetro al Servicio... pero, haciendo esto no podemos enviar más de un parámetro al Servicio (si es que funciona siquiera el que intentamos enviar, porque aunque "compila" no he podido probarlo de veras), y además de no poder enviar más parámetros en realidad es que estamos obviando el tipo "lpServiceArgVectors"...

¿Qué se os ocurre? ¿Alguien utilizó alguna vez el tipo "lpServiceArgVectors"? Disculpad el royo... se ve que la síntesis (de cualquier tipo) no es lo mío... ¡y gracias de antemano pataliebres!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
 



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
Parametros Opcionales no Parametros por defecto Velia Varios 7 19-08-2006 15:18:42
Parámetros en ADO Delfin Conexión con bases de datos 0 19-03-2005 00:02:36
parametros rebollo75 SQL 3 23-11-2004 19:44:59
Parametros jostrix Varios 1 31-10-2004 11:55:33
Parametros BDE Red_Delphi Conexión con bases de datos 0 13-10-2003 10:18:05


La franja horaria es GMT +2. Ahora son las 07:00:06.


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