Exceptions vom COM-Server zum COM-Client übertragen (_com_error)



  • (NT 4.0, VC++ 6.0, SP 6)

    Hallo Board!

    Ich habe einen COM Server und einen COM Client.

    Ich will z.B.: In einer Methode des COM-Servers throw _com_error; machen, damit die Exception den COM-Client erreicht und das der COM-Client sie in einem catch Block bearbeitet.
    Noch besser wäre es, wenn ich mit der _com_error Exception eigenen Text wieterleiten könnte. Z.B.: // Pseudocode

    class ComError : public _com_error // oder so ä.
    {
    ....
    // Die einzigen 2 neue Methoden
    public:
        // Nach dem Aufruf von SetErrorMessage(rErrorDescription)  soll der Aufruf
        // von ComError::Description() nicht ein COM Error _bstr_t liefern,
        // sondern ein _bstr_t, wo der Wert von rErrorDescription steht zurück geben 
        void SetErrorMessage(const CString& rErrorDescription) { m_ErrorMessage = rErrorDescription; }
        CString& GetErrorMessage() { return m_ErrorMessage; }
    
    // Die einzige neue Member
    private: 
        CString m_ErrorMessage;
    };
    

    _com_error Liefert keine Methode, wo man den ErrorText selbst setzen kann.
    Wie kann ich das am besten umsetzten?



  • Die Frage hat sich gerade erledigt:
    HRESULT WINAPI AtlReportError(..) 🙂


Anmelden zum Antworten