Ver Mensaje Individual
  #3  
Antiguo 22-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
Hola de nuevo

Algunas de las cosas que puse en el mensaje anterior, sólo funcionan para Interbase. Por eso, durante estos días he estado mirando de hacer algo genérico para IB/FB.

He creado dos clases, TService y TIBSservice. La primera es genérica para el control de cualquier servicio de Windows. La segunda es específica para el motor de bases de datos IB/FB

La definición de las clases es la siguiente

Código Delphi [-]
  TService = class(TComponent)
  public
    function GetEnumPriv : boolean;
    function GetSysDirectory : string;
    function GetServices(sMachine: string; sServices: TStrings): boolean;
    function IsNT : boolean;
    function IsAdmin: Boolean;
    function Display_status(status_code: DWORD) : string;
    function ServiceCreate(sMachine, sService, sDisplayName, sBinFile : string; 
                 StartType : integer) : boolean;
    function ServiceDelete(sMachine, sService : string) : boolean;
    function ServiceStart(sMachine, sService : string) : boolean;
    function ServiceStop(sMachine, sService : string) : boolean;
    function ExistService(sMachine, sService : string) : boolean;
    function ProcessRunning(Proces: string): boolean;
  end;

  TTipoBD = (tbIB, tbFB103, tbFB15, tbNone);

  TIBService = class(TService)
  private
    FTipoBD: TTipoBD;
  protected
  public
    constructor Create(aOwner: TComponent); override;

    function GetVersion: TTipoBD;
    function GetInterbaseGuardianFile : string;
    function GetIBRootDir: string;
    function InterbaseRunning : boolean;
    function ShutDownInterbase : boolean;
    function StartInterbase : boolean;
    function InterbaseInstalled : boolean;
  published
    property TipoBD: TTipoBD read FTipoBD write FTipoBD;
  end;

El nombre de los métodos creo que es bastante significativo para haceros una idea de lo que hacen

Sólo lo he probado en 3 SO (NT, XP y 2k prof.) y con IB 1.5, por lo que no garantizo su plena funcionalidad (razón por la que, de momento no lo subiré a mi web).

Si a alguien le interesa o quiere hacerme de beta-tester con otra combinación.... que me deje aquí un mensaje y ya nos ponemos en contacto
Responder Con Cita