Outlook Automatisierung schreiben mit Borland C++ Builder 2006



  • Hallo Entwickler,

    wer von euch hat schon mit dem Borland C++ Builder 2006 Code für den automatischen Zugriff auf Outlook geschrieben?

    Was mich genauer interessiert ist, wie ich überhaupt auf das Outlook Objekt Modell zugreifen kann, denn bei mir spinnt der Builder nur.

    Über Komponenten importieren greife ich auf die Microsoft Office 11.0 Object Library Komponente zu. Der Builder erstellt mir zwar die Wrapper-Klassen, scheint aber darin einen Fehler zu begehen.

    Mein Zugriff sieht momentan so aus:

    Outlook_tlb::OutlookApplication* oApp; // Für den Zugriff auf das Outlook Objekt
    Outlook_tlb::TaskItem* objTask; // Für den Zugriff auf den Aufgabenbereich
    

    Diese beiden Zeilen habe ich im Kopf der cpp-Datei.
    Nun versuche ich eine Instanz von OutlookApplication zu erstellen, aber das will nicht gelingen, weil ich den passenden Konstruktor nicht finden kann.

    Wenn ihr einen Lösungsansatz für mich hättet, wie ich ohne Fehlermeldungen zumindest auf das Outlook-Objekt zugreifen kann, wäre ich euch sehr dankbar.

    Gruß Olli



  • Hallo

    Nun versuche ich eine Instanz von OutlookApplication zu erstellen, aber das will nicht gelingen, weil ich den passenden Konstruktor nicht finden kann.

    Was genau heißt das? Kommt eine Fehlermeldung?
    Wenn du nicht weißt was für Parameter erforderlich sind, dann schreib den Konstruktor mit der öffnenden Klammer hin und las durch die Automatikfunktionen dir die möglichen Varianten anzeigen.

    bis bald
    akari



  • Hi akari,

    der Konstruktor heißt ja normalerweise genauso wie die Klasse. Also schreibe ich

    oApp = Outlook_tlb::OutlookApplication
    

    Aber hier geht es schon los. OutlookApplication kennt hier keinen Konstruktor. In der .Net Version existiert ein ApplicationClass() Konstruktor. Daher bin ich auch davon ausgegangen, dass dieser Konstruktor auch in C++ vorhanden ist. Dem ist aber nicht so.

    Wie erstelle ich denn jetzt die Outlook-Instanz für oApp?



  • Hallo

    der Konstruktor heißt ja normalerweise genauso wie die Klasse

    Vom Namen her schon, Nur vergißt du das der Konstruktor auch Parameter haben kann.

    Doch selbst ohne Parameter muß das wenn schon so aussehen

    oApp = new Outlook_tlb::OutlookApplication();
    

    und nicht vergessen, nach der Benutzen der Instanz diese wieder löschen.

    Aber hier geht es schon los. OutlookApplication kennt hier keinen Konstruktor.

    Nochmal : Was für eine Fehlermeldung genau kommt (nach meiner Berichtigung)?

    bis bald
    akari



  • Fehlermeldung:

    Instanz der abstrakten Klasse _Application kann nicht erzeugt werden
    


  • Der direkte Zugriff auf die Office-Objekte ist mir auch noch nicht gelungen.

    Ich habe aber nicht lange rumprobiert, sondern habe es mit OLE-Mechanismen gelöst. Hier ist ein Beispiel für Excel: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39259.html

    Vielleicht hilft dir das ja auch weiter.



  • Hallo

    dann ist _Application eine Abstrakte Klasse, und nicht die echte "Arbeitsklasse". Benutze die richtige Klasse.
    Allerdings frage ich mich, wie diese Fehlermeldung an dieser Stelle kommen kann.

    oApp = new Outlook_tlb::OutlookApplication();
    

    wo ja gar nicht eine solche Klasse erwähnt ist.
    Und OutlookApplication ist bestimmt kein einfaches Typedef für _Application.

    bis bald
    akari


Anmelden zum Antworten