Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As seguintes considerações de threading do Tablet PC são específicas para quando o Component Object Model (COM) e a Automação são usados.
- Segurança de Threads
- Aplicações STA e MTA
- InkCollector e InkOverlay
- Receptores de Eventos
- Exceções em manipuladores de eventos
- Tópicos relacionados
Segurança de roscas
Com exceção dos controles InkPicture e InkEdit, os objetos do Tablet PC são thread-safe e marcados como ambos. Ao serem marcados tanto para um como para outro, eles podem ser executados em um apartamento de fio único (STA) ou em um apartamento multithreaded (MTA).
Os formulários do Windows usam o modelo STA porque os formulários do Windows são baseados em janelas Win32 nativas e espera-se que os threads que usam janelas Win32 e COM usem apartamentos de thread único.
Aplicações STA e MTA
Se seu aplicativo é executado em um MTA ou usa o empacotador de thread livre (FTM), você deve escrever código thread-safe; No entanto, ao fazer isso, você pode melhorar determinados problemas de desempenho de manipulação de eventos.
InkCollector e InkOverlay
Seu aplicativo não deve liberar sua referência final ao InkCollector ou ao InkOverlay, destruindo assim o objeto, diretamente do thread de tinta. Em vez disso, a aplicação deve liberar o InkCollector ou o objeto InkOverlay de um thread de aplicação.
Cuidado: Uma aplicação marcada como MTA ou que usa o FTM, que permite chamadas diretas da thread de tinta para o apartamento da aplicação, pode liberar a sua referência final ao InkCollector ou ao objeto InkOverlay diretamente da thread de tinta; no entanto, isso causa falha irrecuperável da aplicação.
Dissipadores de eventos
Se seu aplicativo não estiver usando o FTM e um objeto e seu coletor de eventos forem criados em apartamentos diferentes, o evento será executado no thread que faz a manutenção do coletor de eventos.
Exceções em manipuladores de eventos
As exceções lançadas de dentro dos manipuladores de eventos do Tablet PC são consumidas e não são visíveis para o resto da sua aplicação. Da mesma forma, os valores HRESULT não são propagados a partir de manipuladores de eventos do Tablet PC. Se um aplicativo usando a camada COM lançar uma exceção, o thread em segundo plano será encerrado e a exceção será perdida. Nenhum manipulador de eventos adicional será chamado.
Tópicos relacionados