Frage

Ich habe ein ActiveX-Steuerelement geschrieben, um die MS ATL-Bibliothek, und ich bin auch über den pDispatch->Invoke(..., DISPATCH_METHOD) feuern. Die Steuerung wird von einem .NET-Client verwendet werden, und meine Frage ist - das Brennen des Ereignisses ist ein synchroner oder asynchroner Aufruf? Meine Sorge ist, dass, wenn synchrone, die Anwendung, die das Ereignis behandelt könnte zu Leistungsproblemen führen, wenn sie sofort zurück.

War es hilfreich?

Lösung

Es ist aus der Sicht der Komponente synchron das Ereignis zu erzeugen. Die Threads Kontrolle der Ausführung wird in den Empfänger-Code aufrufen und die Dinge aus seiner Kontrolle an diesem Punkt.

Kunden die Ereignisse erhalten, müssen sie sicherstellen, dass schnell wieder. Wenn sie eine erhebliche Menge an Arbeit tun müssen, dann sollten sie dies asynchron planen. Zum Beispiel durch eine Windows-Nachricht veröffentlichen, oder einen separaten Thread verwendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top