Ver Mensaje Individual
  #2  
Antiguo 30-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Alberto.

No puedo darte una opinión sobre que cuál ProgID es el más apropiado para que aplique tu clase por desconozco los alcances que deseas darle y las prestaciones que te ofrece cada versión para las mismas.

Pero, por si te sirviera de algo, te puedo dar una alternativa para obtener las versiones instaladas sin tener que recurrir al registro para obtenerlas. Hice dos funciones, la primera devuelve las versiones instaladas y la segunda la versión mayor de ellas.
Código Delphi [-]
uses ComObj, ActiveX;

procedure GetInstalledMSXML2Versions(Versions: TStrings);
const
  VERSION : array[1..8] of string = ('1.0','2.0','2.5','2.6','3.0','4.0','5.0','6.0');
var
 clsid: TCLSID;
 wc   : array[0..23] of WideChar;
 i    : Integer;
 s    : string;
begin
  for i := 1 to High(VERSION) do
  begin
    s := 'MSXML2.DOMDocument.' + VERSION[i];
    StringToWideChar(s , wc, High(wc));
    if Succeeded(CLSIDFromProgID(wc, clsid)) then
      Versions.Add(s);
  end;
end;

function GetMajorMSXML2VersionInstalled: string;
const
  VERSION : array[1..8] of string = ('1.0','2.0','2.5','2.6','3.0','4.0','5.0','6.0');
var
 clsid: TCLSID;
 wc   : array[0..23] of WideChar;
 i    : Integer;
 s    : string;
begin
  for i := 1 to High(VERSION) do
  begin
    s := 'MSXML2.DOMDocument.' + VERSION[i];
    StringToWideChar(s , wc, High(wc));
    if Succeeded(CLSIDFromProgID(wc, clsid)) then
      Result := s;
  end;
end;
Espero que te aporten algún beneficio o al menos te den alguna pauta para seguir, mientras tanto seguiré pensando en "la pregunta del millón".

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita