Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Nochmal Thread-problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.03.2004, 22:45 Uhr
~Ludwig
Gast


Hi,
hab noch ein kleines Problemchen wegen der Threads und zwar:
Der Thread, der ja eine MemberF. aufruft, die wiederum eine MF aufruft jedoch
mit einem Namespace-Objekt das im Konstruktor gebaut wurde;
d.h. daß sobald ich auf den Funktionsaufruf durch das Namespace-Objekt komme kriege ich eine Exception , vermutlich weil das Namespace-Objekt im Konstruktor mit der ersten Instanz gebaut wurde.
Kann man hier dieses Problem irgenwie umgehen ?

Ludwig
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.03.2004, 23:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


krass den satz muss man ja 5 mal lesen um den zu verstehen..
hm ist mir noch nicht so ganz klar was du da machst. zeig mal code vor allen dingen wie kein komisches objekt aussieht wo du das in der memberfunktion aufrufst und wie der konstruktor aussieht...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
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
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.03.2004, 12:56 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hmm tut mir leid kann ich dir auch nicht sagen. Wenn dieses IDispatch ins spiel kommt und man Officeanwendungen von c++ aus steuert wirds sowieso spassig, da weiss man ja nie so richtig was dann passiert...
Bei sowas hab ich immer nur ewig rumprobiert bis es endlich ging, aber hintergrundwissen das ich zu deinem problem konkret was sagen könnte hab ich nicht....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.03.2004, 12:56 Uhr
RHBaum



erledigt ...
Dieser Post wurde am 16.03.2004 um 13:06 Uhr von RHBaum editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.03.2004, 12:58 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@RHBaum
das problem mit dem this-zeiger hatte er gestern schon und das konnten wir klären. Sein problem ist jetzt das das mit dem Outlook-dispatch-Interface (oder wie auch immer das exact heisst) nicht richtig funktioniert wenn er damit in dem thread arbeitet...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
16.03.2004, 13:05 Uhr
RHBaum



Ups, ja, les den gestrigen Thread grad ... also vergiss das vorherige .... :p

Ich verstehs aber trotzdem auch ned ganz ...

Ne Buttonfunktion, also nen MessageHandler Funktion an CMydialog funktioniert mit dem nmsp Object ?
Aber nen memberaufruf auf CMydialog ueber ne Threadproc dann knallts bei dem nmsp Object ? mit ner Exception .... schau mal bitte in welchem modul die Exception geworfen wird ... ???

Das nmsp Object wird am Dialog (CMyDlg im CTor) erzeugt ....
Du bist dir sicher, das zum Zeitpunkt des fehlers Dein Dialog und dein nmsp Object noch instanziert sind ?
Nicht das es den dialog schon gar ned mehr gibt, und du beim zersteoren die Threadproc ned gekillt hasst ?

Ciao ...

Dieser Post wurde am 16.03.2004 um 13:11 Uhr von RHBaum editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.03.2004, 15:38 Uhr
~Ludwig
Gast


das nmsp-Objekt und der Dialog sind zum Fehlerzeitpunkt schon noch vorhanden;jedoch glaube ich daß ich mit dem this-Zeiger auf ein nicht initialisiertes nmsp-Objekt zugreife und deshalb der Fehler kommt.
Es gibt zwar zu diesem Zeitpunkt schon ein nmsp-Objekt jedoch kann ich das mit dem this-Zeiger (so glaub ich) nicht erreichen.
Wie auch immer, ich werde diese Funktionalität in eine eigen EXE auslagern müssen, wenn mir nichts blöderes einfällt ...

Danke für eure, Beiträge

Ludwig
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
16.03.2004, 15:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Wie auch immer, ich werde diese Funktionalität in eine eigen EXE auslagern müssen, wenn mir nichts blöderes einfällt ...


virtual würde vermutlich sagen das einem fast nichts blöderes einfallen kann... (die system funkton mag der gar nicht...)

Naja ich geh auch immer den weg des kleinsten widerstandes. Dieser Perfektionismus scheint bei einigen Informatikern ne angeborene Macke zu sein. (jaja ich weiss bei windowsinformatikern ist das nicht so, aber was solls die welt dreht sich trotzdem...)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: