Pergunta

Eu tenho uma classe com base em CSocket num DLL que tem vários tampões roscados para segurar o fluxo de entrada. Eu tenho um par de aplicações com o qual este obras perfeitamente, usando um timer para consultar o buffer para ver se alguma coisa está lá a ser puxado para fora e, em seguida, exibido.

Agora eu tenho o temporizador em algum código VBA, a macro se quiserem, em uma módulo de Excel. Os incêndios temporizador como esperado, mas a DLL única diz que há coisas no buffer quando você mantém o botão do mouse em uma guia de rolagem ou barra de título do Excel! Então, se você tentar mover a janela do Excel a mesa começa povoam com dados retirado do tampão. Se você tentar movendo a janela de programação, em seguida, ele não funciona. De alguma forma rato foco tem que estar no quadro da janela do Excel. Ele também funciona se você abra o menu de sistema no canto superior esquerdo da janela. (Este é Excel 2003 SP3 BTW).

Nenhuma solução correta

Outras dicas

Para comentário resposta see 'aceito' acima (o que eu não posso transferência, que mod não quis e presumivelmente OP não vai). Ou seja:

Coloque a DLL em sua própria thread .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top