RESTAURANDO TELA DO MEU SISTEMA MINIMIZADA
Bom dia galera!!!!!!!!
Galera é o seguinte. Tenho um sistema de controle de atendimentos onde observei que as vezes o usuario consegue executar 2 cópias do sistema ou mais.
Procurei uma rotina na net que evita isto é o códio abaixo:
If App.PrevInstance = True Then
MsgBox [Ô]O Sistema já encontra-se aberto!!!![Ô], vbInformation, [Ô]Tarifa Social[Ô]
Exit Sub
End
endif
[/txt-color]
Até aqui tudo ok.
agora minha dúvida é como faço para que quando o usuário tentar abrir uma segunda cópia do sistema, ele seja informado que já existe uma cópia aberta e a mesma seja restaurada/maximizada na tela vejam o código abaixo:
If App.PrevInstance = True Then
MsgBox [Ô]O Sistema já encontra-se aberto!!!![Ô], vbInformation, [Ô]Tarifa Residencial Social[Ô]
Form1.WindowState = 2
End If
[/txt-color]
Com esse código ele não restaura a tela ele abre ela novamente..... ficando 2 cópias
alguem poderia me dar uma luz....
Galera é o seguinte. Tenho um sistema de controle de atendimentos onde observei que as vezes o usuario consegue executar 2 cópias do sistema ou mais.
Procurei uma rotina na net que evita isto é o códio abaixo:
[txt-color=#0000f0] If App.PrevInstance = True Then
MsgBox [Ô]O Sistema já encontra-se aberto!!!![Ô], vbInformation, [Ô]Tarifa Social[Ô]
Exit Sub
End
endif
[/txt-color]
Até aqui tudo ok.
agora minha dúvida é como faço para que quando o usuário tentar abrir uma segunda cópia do sistema, ele seja informado que já existe uma cópia aberta e a mesma seja restaurada/maximizada na tela vejam o código abaixo:
[txt-color=#0000f0] If App.PrevInstance = True Then
MsgBox [Ô]O Sistema já encontra-se aberto!!!![Ô], vbInformation, [Ô]Tarifa Residencial Social[Ô]
Form1.WindowState = 2
End If
[/txt-color]
Com esse código ele não restaura a tela ele abre ela novamente..... ficando 2 cópias
alguem poderia me dar uma luz....
Simples.
Form1, provavelmente, é o nome real do formulário em tempo de desenho. Assim, ao chamar esse nome, você está de fato criando uma nova instância do mesmo. Você deve alterar as propriedades da instância ativa, e não as da classe Form1 (sim, mesmo no VB6, o nome do formulário em tempo de desenho significa uma classe quando em tempo de execução).
Dim f As Form
For Each f In Forms
If f.Name = [Ô]Form1[Ô] Then
[ô]... aqui você modifica as caracterÃsticas da instância existente ...
Exit For
End If
Next
Form1, provavelmente, é o nome real do formulário em tempo de desenho. Assim, ao chamar esse nome, você está de fato criando uma nova instância do mesmo. Você deve alterar as propriedades da instância ativa, e não as da classe Form1 (sim, mesmo no VB6, o nome do formulário em tempo de desenho significa uma classe quando em tempo de execução).
Dim f As Form
For Each f In Forms
If f.Name = [Ô]Form1[Ô] Then
[ô]... aqui você modifica as caracterÃsticas da instância existente ...
Exit For
End If
Next
Caro amigo PROFESSOR
Usei o código que vc postou mas acontece a mesma coisa, ele abre uma nova cópia do formulario; e não restaura o que está aberto....
vc teria algum exemplo pra postar o código aqui???
Desde já agradeço a colaboração
Usei o código que vc postou mas acontece a mesma coisa, ele abre uma nova cópia do formulario; e não restaura o que está aberto....
vc teria algum exemplo pra postar o código aqui???
Desde já agradeço a colaboração
Tópico encerrado , respostas não são mais permitidas