Announcement

Collapse
No announcement yet.

NT-Dienste & COM

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • NT-Dienste & COM

    Hallo,

    Ich versuche, eine IActiveScript-Instanz in einem NT-Dienst während des Starts zu erzeugen. Ich habe dafür die TlvkActiveScript-Komponente verwendet.

    Das ganze klappt auch problemlos, allerdings nur, solange ich den Dienst manuell starte. Sobald der Dienst beim Hochfahren automatisch gestartet werden soll, hängt er.

    Mein Code sieht folgendermaßen aus
    <PRE>
    procedure TService1.ServiceStart(Sender: TService;
    var Started: Boolean);
    begin
    try
    try
    CoInitialize(nil);
    Script := TlvkActiveScript.Create(0);
    Script.Language := FLanguage;
    Script.ScriptCode.Text := FScriptCode;
    Script.Compile;
    ...
    finally
    CoUnInitialize;
    end;
    except
    on E: Exception do
    begin
    HandleException(E);
    end;
    end;
    end;
    </PRE>
    Hängen tut das ganze an der Stelle "Script.Compile" und dort wiederum beim Aufruf von "CoCreateInstance".
    Abhängigkeiten von anderen Diensten sollten nicht bestehen, so dass ich mich nun frage, ob es beim Zusammenspiel von Diensten und COM irgendetwas besonderes zu beachten gibt oder ob ich evtl. sonst noch etwas wichiges übersehen habe.

    Uwe
Working...
X