Forums Neueste Beiträge
 

COM- Event wird nicht erkannt

18/04/2009 - 14:42 von Senol Balaban | Report spam
Hallo

Ich habe eine COM-Komponente von einem Fremdanbieter welches einkommende
Anrufe signalisieren soll.
Das Ereignis heisst in diesem Fall OnNotify()
Jedoch das tritt das Ereignis nie auf.

Ich weiss es tönt komisch jedoch wird das gleiche Ereignis von VB6 erkannt
und man kann damit arbeiten.
Ich benutze C# 2005.
Kann es sein dass die RCW's fehelerhaft generiert werden?
Wie könnte man das Problem Ansatzweise lösen?

Freundliche Grüsse

Balaban Senol
 

Lesen sie die antworten

#1 Frank Dzaebel
18/04/2009 - 17:14 | Warnen spam
Hallo Senol,

Ich habe eine COM-Komponente von einem Fremdanbieter welches einkommende
Anrufe signalisieren soll.
Das Ereignis heisst in diesem Fall OnNotify()
Jedoch das tritt das Ereignis nie auf.



Das "kann" schon z.T. sein, es kàme auf die Art des
Events / der Komponente an.
Mach es mal testweise über ein manuelles Wrapping als
IConnectionPointContainer und Advise und
berichte, ob's geklappt hat.

this.vssApp = app;
// COM Connection Point manuell handeln:
IConnectionPointContainer cpc = (IConnectionPointContainer) app;
Guid guid = typeof(IVSSEvents).GUID;
cpc.FindConnectionPoint(ref guid, out vssEvents);
vssEvents.Advise(this, out cookie);


[Gewusst wie: Erstellen eines C#-Testprojekt-Add-Ins]
http://msdn.microsoft.com/de-de/lib...f9zk2.aspx

Man sollte am Ende auch ein Unadvise machen.
COM-Objekte am Ende über Marshal.ReleaseComObject
freigeben.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen