As janelas modais ActiveX bloqueiam o IE9

2

Eu tenho um aplicativo da Web VB6 / ActiveX antigo que não está se comportando bem com o IE9

Especificamente, quando o aplicativo abre uma janela modal, ele bloqueia a (s) janela (s) pai (s). Parece funcionar bem no IE7 e no IE8

Existem configurações que eu posso alterar para que isso se torne melhor. Eu tentei adicionar o site às configurações da Visualização de comparabilidade no menu Ferramentas, sem melhores resultados.

Editar:

Eu já adicionei o site ao meu Trusted Sites e permiti todas as opções do ActiveX (na verdade, tudo é permitido)

    
por BIBD 10.06.2011 / 05:42

4 respostas

2

Corrigido pelo MS: link

    
por 15.06.2011 / 02:53
0

Eu tentaria isso para cada zona em que ele pode ser usado (farei referência à zona da Internet): Ferramentas > Opções da Internet > Segurança > Nível personalizado e desloque-se para a área "Controles e plug-ins ActiveX" e diminua a segurança para todos eles como um teste. Se isso for corrigido, eleve-os um a um até que eles se quebrem novamente e, em seguida, desative esse ajuste.

    
por 10.06.2011 / 05:56
0

parece :

Since VB6 is out of support, it is not guaranteed to be fully compatible with IE9-based WebBrowser Control.

IE9 is disabling parent windows when a vb6 modal dialog is displayed, but not re-enabling them when it closes.

Here is the workaround I have added to my code after the call to show the modal dialog:

Me.Show vbModal
Call EnableParentWindows(Me.hwnd)
...

Private Declare Function EnableWindow& Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long)

Public Function EnableParentWindows(ByVal hwnd As Long) As Boolean
    ' This function is intended to fix the IE9 modal dialog freeze problem
    While hwnd <> 0
        EnableWindow hwnd, &O1
        hwnd = GetParent(hwnd)
    Wend
    EnableParentWindows = True
End Function

This works for me.

    
por 13.06.2011 / 21:36
0

Você está usando TabProcGrowth = 0 para depuração? Meu ActiveX / IE9 foi bloqueado por causa disso. Eu tive que redefinir esse valor para 1 para poder executar meu AX corretamente (mas sem depuração, é claro)

    
por 15.06.2011 / 15:42