002
16.03.2004, 09:30 Uhr
~Ludwig
Gast
|
Hi, im Konstruktor meiner DialogAnwendung erzeuge ich einen Dispatch auf MS Outlook.
C++: |
CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg::IDD, pParent) { . . . _Application app. CreateDispatch("Outlook.Application _NameSpace nmsp = app .GetNamespace ("MAPI"); nmsp.Logon (COleVariant((CString)m_currUser), COleVariant((CString)"pw"), covOptional, covOptional);
}
|
Mit dem nmsp (NameSpaceObjekt; ist global definiert) kann ich u.a. auch auf Outlookspezifische Funktionen zugreifen.
Ich habe eine MemberFunktion die die Daten von Outlook ausließt. Angestoßen wird das Ganze über einen Button (auf dem Dialog ...) und der dementsprechenden Funktion. In dieser MFunktion ist auch das Objekt "nmsp" vorhanden, das eine OutlookFunktion aufruft. Das funktioniert auch solange ich diese Funktion (die die Daten aus Outlook holt) über die Buttonfunktion aufrufe. Wenn ich allerdings das Ganze in einem Thread über den this-Zeiger mache, dann krieg ich dort, wo ich über das nmsp-Objekt auf OutlookFunktionen zugreife eine Exception. Ich vermute mal, daß dann (wenn´s über den this-Zeiger läuft) das nmsp-Objekt nicht initialisiert wird. Muß ich dann extra für den Thread ein neues CMyDlg-Objekt erzeugen oder geht man hier anders vor ?
Gruß,Ludwig |