Einzelnen Beitrag anzeigen

delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#6

AW: GetActiveOleObject Fehler in der log-Datei

  Alt 15. Mär 2019, 13:55
Zitat von RTFM:
GetActiveOleObject returns a reference to the IDispatch interface of the active object for the given class indicated by ClassName. ClassName is the ...
Wenn's nicht läuft, gibt es diesen Fehler.
Bei diesem Fehler musst Du Word dann halt starten -> CreateOleObject('Word.Application')
Nur, wenn kein Word läuft, soll ein OLEObjekt erstellt werden.
Mit diesem Code kann ich überprüfen, ob eine Word Datei bereits läuft?

Code:
function GetWord: IDispatch;
var
  ClassID: TGUID;
  Unknown: IUnknown;
  HR: HResult;
begin
  ClassID := ProgIDToClassID('Word.Application');
  HR := GetActiveObject(ClassID, nil, Unknown);
  if (HR = MK_E_UNAVAILABLE) then
    Result := CreateComObject(ClassID) as IDispatch
  else begin
    OleCheck(HR);
    OleCheck(Unknown.QueryInterface(IDispatch, Result));
  end;
end;

Geändert von delphicoder123 (15. Mär 2019 um 14:12 Uhr)
  Mit Zitat antworten Zitat