Итак, я пишу компонент в C # с событиями, которые нужно представить через COM для VB6.
Я уже предпринял все перечисленные шаги здесь , а сами события работают нормально .
Однако, что-то в механизме приложения означает, что иногда COM-события не доставляются (когда несколько событий срабатывают в тесной последовательности, только первое проходит). Я попал на стадию трассировки данных непосредственно перед тем, как они возникли как событие на стороне .net, и сразу после того, как они обработаны на стороне VB. Они не просто ставятся в очередь или передаются не по порядку (будет (более) приемлемо), они поднимаются, но не принимаются. Все события создаются из одного потока .net. Когда я перехожу через код, все они доставляются правильно; в тестовом приложении «голые кости» все они доставляются даже «на скорости».
Таким образом, некоторая другая часть приложения VB, по-видимому, препятствует доставке этих событий. С чего мне начать искать? Может ли DoEvents иметь непреднамеренные побочные эффекты, например?
РЕДАКТИРОВАТЬ: уточнил выше, что только первая партия проходит.
РЕДАКТИРОВАТЬ: пересмотренный случай (изначально считалось, что проблема с оберткой COM)