Página 1 de 1

nomodal com modal

Enviado: 24 Jul 2020 18:26
por theflash31
Tenho uma tela nomodal que abre outra como modal, mas mesmo sendo modal consigo acessar a tela de trás que é modal. Como consigo bloqueiar isso

nomodal com modal

Enviado: 24 Jul 2020 22:55
por Fernando queiroz
Fiz um teste na minha tela NOMODAL chamando uma MODAL e ela não acessa a tela anterior, ela acessa uma outra tela NOMODAL, mas a que chamou ela não.
Outra coisa que notei nas minhas rotinas é que se houver variáveis SEM SER LOCAL a coisa fica meio maluca, não sei porque

nomodal com modal

Enviado: 25 Jul 2020 19:19
por asimoes
Eu faria um hide() na nomodal, depois um show() quando a modal for fechada

nomodal com modal

Enviado: 25 Jul 2020 20:22
por asimoes
Só um exemplo, usa quem quiser.

Código: Selecionar todos

nWidth  := ThisFormModal:nWidth
nHeight := ThisFormModal:nHeight

ThisformModal:Move( 0, 0, 0, 0 ) //Inibi a jenela No modal

Restaura a janela Nomodal

WITH OBJECT ThisFormModal
    :Move( 0, 0, nWidth, nHeight )
    :Center()
END

nomodal com modal

Enviado: 25 Jul 2020 20:29
por JoséQuintas
Fernando queiroz escreveu:Outra coisa que notei nas minhas rotinas é que se houver variáveis SEM SER LOCAL a coisa fica meio maluca, não sei porque
Depende ao que exatamente está se referindo.
Variáveis públicas são visíveis em tudo, então, ela pode ser modificada por outro módulo, alterando o comportamento do módulo atual.
Variáveis private... dependendo de onde elas foram criadas, podem ficar visíveis também.

Ao criar módulos que podem ser abertos ao mesmo tempo precisa muito cuidado com quais variáveis vai deixar visível entre os módulos.

Não tem a ver com o seu caso, mas até por isso, o default de multithread é não deixar nada visível de PUBLIC e PRIVATE, a não ser que isso seja indicado, porque o resultado pode ser imprevisível. No caso de multithread e DBFs, os DBFs também não ficam visíveis.

Mesmo no DBF, imagine um DO WHILE ! Eof() em um arquivo, e outra rotina alterar toda ordem durante esse DO WHILE....

Cada caso é um caso, é questão de analisar o seu caso, e ver se alguma variável PRIVATE pode estar sendo usada em mais de um módulo ao mesmo tempo, e que tem conteúdo alterado quando não poderia ter.

Sempre que possível altere pra LOCAL, e quando necessário, passe para a sub-rotina como parâmetro, por referência ou não, conforme o caso.

compilação -w3 -es2 ajuda a organizar variáveis.
Trabalhoso no início, até que o fonte esteja totalmente ajustado.
Mas depois.... é só alegria.

nomodal com modal

Enviado: 25 Jul 2020 22:47
por Fernando queiroz
Pode ser problemas de versao da HWGUI pois estou usando a 2.20 b4 e esta funcionando certinho