Einzelnen Beitrag anzeigen

x13-g44

Registriert seit: 16. Jun 2007
Ort: Bad Wurzach
3 Beiträge
 
Delphi 2007 Architect
 
#1

Microsoft Baseline Security Analyzer und ActiveX

  Alt 25. Jan 2008, 10:34
Hi,

ich habe folgendes Problem: Ich möchte gerne das MS-Tool "Microsoft Baseline Security Analyzer" v2.0 oder und v2.1 über die ActiveX (COM) Schnittstelle steuern. Mit Delphi kann man ja schön die TypeLib importieren.

Leider tritt bei der Laufzeit eine Exception auf: EOLESysError, 'Unbekannter Fehler', ClassID:{...}.

Dazu mein Code:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,
  SERVERSECURELib_TLB, ComObj, ActiveX;

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  mbsa : IScan;
  i : Integer;
begin
  // Alternative 1: mbsa := CreateComObject(CLASS_Scan) as IScan;
  // Alternative 2: mbsa := CoScan.Create;

  i := CoCreateInstance(CLASS_Scan, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, mbsa);
  ShowMessage(IntToStr(i)); //Ausgabe: -2147467259
end;

end.
Wenn ich es mit C# versuche, werden gleich zwei unterschiedliche Exception geworfen:
1. "Die COM-Klassenfactory für die Komponente mit CLSID {D86984D6-5AA7-11D9-89C9-000BDB08B646} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80040154."
2. "Die COM-Klassenfactory für die Komponente mit CLSID {D86984D6-5AA7-11D9-89C9-000BDB08B646} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80004005."

Die Meldungen deuten auf ein Problem mit der COM-Klassenfactory hin. Das Problem tritt im übrigen auf allen Rechnern auf, mit denen ich es getestet habe (XP, Vista).

Kann mit jemand weiter helfen?

Danke im voraus.
  Mit Zitat antworten Zitat