Função não funcionando no Firefox



  • Erro em um dos meus computadores.

    Queria saber o que causa esse tipo de erro, e como solucionar.

    Tenho em um Formulário, uma GRADE.

    Quando executo a função "Atualizar Componente em Outro Formulário", passando como parâmetro o Formulário da Grade e o nome da Grade,
    em um computador funciona direitinho;
    no outro dá o seguinte erro: Erro: TypeError / Mensagem: formChildren[i].document.mainform is undefined

    Por quê?
    Alguém já passou por isso?

    Configuração do Ambiente:
    - Windows 7 Home Premium 64 bits, 8 Gb RAM, HD 1Tb, Processador Intel Core i3 4ª Geração de 3.7 GHz, Placa de Vídeo nVidea 1 Gb dedicada
    - PostgreSQL v9.1
    - Maker v3.8.1.41
    - Webrun v3.8.1.45


  • Será que o computador que não funciona está com cache?

    Ambas as versões são as mesmas? Usa Maker.commons no computador que não funciona?


  • Olá Ronélio.

    Agora fiz mais testes aqui, e percebi que o problema não é no computador, é no navegador Firefox.
    Está dando o erro em TODOS os computadores, se usar o Firefox. Testei na versão 46.0.1 e na 47.0. Nas duas ocorre o problema.

    No Chrome 51 está ok.
    No IE 11 está ok.


  • [quote="Lucio Nascimento"]Olá Ronélio.

    Agora fiz mais testes aqui, e percebi que o problema não é no computador, é no navegador Firefox.
    Está dando o erro em TODOS os computadores, se usar o Firefox. Testei na versão 46.0.1 e na 47.0. Nas duas ocorre o problema.

    No Chrome 51 está ok.
    No IE 11 está ok.[/quote] Opa, seguinte, o formulário é modal?


  • [quote="Ronélio Oliveira"][quote="Lucio Nascimento"]Olá Ronélio.

    Agora fiz mais testes aqui, e percebi que o problema não é no computador, é no navegador Firefox.
    Está dando o erro em TODOS os computadores, se usar o Firefox. Testei na versão 46.0.1 e na 47.0. Nas duas ocorre o problema.

    No Chrome 51 está ok.
    No IE 11 está ok.[/quote] Opa, seguinte, o formulário é modal?[/quote]
    Ou existe algum modal pelo meio?


  • O 1º Formulário, onde está a Grade, está aberto numa Aba no Formulário Principal.
    Clicando 2x na grade, abre um Form Modal. É nele que executo a função "Atualizar Componente em Outro Formulário".


  • [quote="Lucio Nascimento"]O 1º Formulário, onde está a Grade, está aberto numa Aba no Formulário Principal.
    Clicando 2x na grade, abre um Form Modal. É nele que executo a função "Atualizar Componente em Outro Formulário".[/quote] A propriedade Modal é interpretada pelos browsers de forma distinta, no Chrome por exemplo, esta propriedade não é suportada. No caso do Firefox, uma janela modal é impedida de acessar as propriedades de outra Janela e com isso a função não consegue ter acesso as outras janelas (formulários) para atualizar o componente.

    Minha recomendação: remover o modal ou usar modal com formulário flutuante.


  • Você disse: "no Chrome por exemplo, esta propriedade não é suportada".

    Qual propriedade?

    No Chrome está funcionando 100%.


  • [quote="Lucio Nascimento"]Você disse: "no Chrome por exemplo, esta propriedade não é suportada".

    Qual propriedade?

    No Chrome está funcionando 100%.[/quote] Modal. O Chrome não suporta janelas modais.


  • Claro que suporta Modal. Eu uso muito. E todas as funções funcionam perfeitamente.
    Só o Firefox que apresentou esse erro que postei.


  • [quote="Lucio Nascimento"]Claro que suporta Modal. Eu uso muito. E todas as funções funcionam perfeitamente.
    Só o Firefox que apresentou esse erro que postei.[/quote] https://developer.mozilla.org/en-US/docs/Web/API/Window/showModalDialog

    [b]Support has been removed in Chrome 37[/b]. But they have added a temporary Enterprise Policy setting to re-enable showModalDialog. [b]This showModalDialog() method was removed completely in Chrome 43.[/b]

    Mozilla has announced that it will remove support for this method (bug 981796). Regarding timing, it shouldn't be before Firefox 46. This means that the function will be around until around mid-June 2016. An ESR release may support it for some more months.


  • "This showModalDialog() method was removed completely in Chrome 43."

    Ué Ronélio... Estranho isso. Estou usando o Chrome 50, e meus Forms Modais continuam funcionando corretamente.

    Eu utilizo meus Forms abrindo na Aba do Form Principal. E os meus Forms abertos à partir desses Forms das Abas, TODOS são MODAIS. E estão se comportando como tal, com a propriedade Modal = Sim.
    A minha inteção ao trabalhar desse forma, é que o Usuário não possa acessar outras telas do Sistema, até fechar o Form Modal, pois ele está vinculado ao Form anterior.
    Além disso, não quero que o Sistema fique criando "janelas avulsas" na Barra de Tarefas do Windows. Isso confunde muito o Usuário.

    Mas vamos considerar que uma hora pare de funcionar...
    Tem outra forma de abrir um Form no Maker, sem ser Modal, e ele não aparecer na Barra de Tarefas, e "bloquear" o restante do Sistema até ser fechado?


  • [quote="Lucio Nascimento"]"This showModalDialog() method was removed completely in Chrome 43."

    Ué Ronélio... Estranho isso. Estou usando o Chrome 50, e meus Forms Modais continuam funcionando corretamente.

    Eu utilizo meus Forms abrindo na Aba do Form Principal. E os meus Forms abertos à partir desses Forms das Abas, TODOS são MODAIS. E estão se comportando como tal, com a propriedade Modal = Sim.
    A minha inteção ao trabalhar desse forma, é que o Usuário não possa acessar outras telas do Sistema, até fechar o Form Modal, pois ele está vinculado ao Form anterior.
    Além disso, não quero que o Sistema fique criando "janelas avulsas" na Barra de Tarefas do Windows. Isso confunde muito o Usuário.

    Mas vamos considerar que uma hora pare de funcionar...
    Tem outra forma de abrir um Form no Maker, sem ser Modal, e ele não aparecer na Barra de Tarefas, e "bloquear" o restante do Sistema até ser fechado?[/quote] Formulários flutuantes não atendem?


  • Não. Eles tanto aparecem na Barra de Tarefas como uma página adicional, como não "bloqueiam" o acesso ao restante do Sistema.

    Nunca vi propriedades para evitar isso em janelas flutuantes. Tem?


  • [quote="Lucio Nascimento"]Não. Eles tanto aparecem na Barra de Tarefas como uma página adicional, como não "bloqueiam" o acesso ao restante do Sistema.

    Nunca vi propriedades para evitar isso em janelas flutuantes. Tem?[/quote]
    Sim. Ao colocar como modal, a janela flutuante não permite acesso aos dados do formulário principal.


  • Sim. E continua funcionando do Chrome, no IE e no Firefox.


  • [quote="Lucio Nascimento"]Sim. E continua funcionando do Chrome, no IE e no Firefox.[/quote]
    Perfeito! Isso porque o mecanismo do Modal flutuante é feito pela Softwell. O Mecanismo de Modal Popup (Janelas) é feita pelo Browser e cada browser tem sua forma de implementação.


  • Entendi.

    Não sei se o problema que eu reportei ao abrir esse tópico tem algo a ver com Modal ou não. Só sei que na situação que tenho, só o Firefox não consegue executar a função "Atualizar Componente em Outro Formulário".
    Abri um chamado no Suporte.
    Obrigado.

Log in to reply