MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Abertura de várias instâncias do Aplicativo, quando da utilização da Ferramenta KSDRun

    avatar
    pankeka
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 29/03/2010

    Abertura de várias instâncias do Aplicativo, quando da utilização da Ferramenta KSDRun Empty Abertura de várias instâncias do Aplicativo, quando da utilização da Ferramenta KSDRun

    Mensagem  pankeka 22/8/2022, 23:20

    Prezados, estou com um problema em um código, quando da abertura do sistema, o qual verifica o System.mdw setado no Access, se for diferente do system.mdw do sistema atual então atualiza o registro com o .mdw correto, e inseri através de uma função, o Login, a senha e o caminho do aplicativo e logo depois encerra o sistema e salva a instância para abrir novamente, agora já com o .mdw correto, até então tudo bem, o sistema sempre funcionou sem nenhum problema desde de 2005, acontece que em alguns clientes, os mesmos atualizaram os seus Windows para 64bits e com isto o sistema parou de funcionar, então resolvi utilizar a ferramenta da Katorffel o KSDRun, que por sinal funciona muito bem, mas com a utilização da ferramenta, acontece que quando encerra o sistema para abrir novamente a instância, agora já setado o ".mdw" correto, não para de abrir novas instâncias do sistema, o que não acontecia antes, eu já repassei o código várias vezes e não consigo encontrar uma solução para este problema, se alguém já passou por esta questão e solucionou, ou algum colega puder me indicar o caminho das pedras, eu antecipadamente agradeço.
    Código utilizado:
    Código:

    Private Sub RodaSeguranca()
    On Error Resume Next
    Dim strSystem As String
    Dim strPath As String
    Dim strCaminho As String
    '----------------------------------------------------------------------------------------------------
    'Constante para access 97
    Const strLocal = "Software\Microsoft\Office\8.0\Access\jet\3.5\Engines\"

    'Obtem o caminho do banco de dados
    strCaminho = fCurrentDBDir

    'Verifica a existência do Arquivo de inicialização
        If Len(Dir(strCaminho & "Siga.ini")) > 0 Then
        
            'Lê o caminho do arquivo mdw do sistema no arquivo "ini" e inseri na varíavel strPath
            strPath = DirAtualRede((LeIni("Geral", "Caminho", strCaminho & "Siga.ini")), True)
            'MsgBox strPath
            
        Else
        
            'Obtem o caminho do Sistema
            strPath = fCurrentDBDir
            
        End If
        
    'Chama a função para verificar referência a Biblioteca
    Call CriaRefArquivo("cMSystem", strPath)

    'Verifica o System.mdw atual do sistema e inseri na varíavel strSystem
    strSystem = SysCmd(acSysCmdGetWorkgroupFile)

    '---------------------------------------------------------------------------------------------------
        'Verifica o .mdw setado no Access, se for diferente do system.mdw do sistema então atualiza o registro
        If strSystem <> strPath & "Siga.mdw" Then
        
            'Chama a função na biblioteca para setar o novo system.mdw
            Call Application.Run("cMSystem.EscreveChave", strLocal, strPath & "Siga.mdw")
            
            'Passa para função o Login, a senha e o caminho do seu aplicativo
            Call Application.Run("cMSystem.AbreSenha", "Siga", "senha", strPath & "Siga_fe.mde", strLocal)
            '& "Siga_fe.mde", strLocal)
            
            'encerra o aplicativo e salva a instância para abrir em outra janela
            Application.Quit acSave
            
        Else
        
       'Chama a função que verifica qual Windows esta sendo utilizado
        Call InformaOS
        
            'Windows XP e acima
            If Versao = "Windows NT 5.1" Then
            
                'seta o system.mdw original do Access
                Call Application.Run("cMSystem.EscreveChave", strLocal, "c:\windows\system32\system.mdw")
                
            'Windows 98
            Else
            
                'seta o system.mdw original do Access
                Call Application.Run("cMSystem.EscreveChave", strLocal, "c:\windows\system\system.mdw")
                
            End If

        End If
    '-----------------------------------------------------------------------------------------------------
    End Sub


    Última edição por pankeka em 22/8/2022, 23:22, editado 1 vez(es) (Motivo da edição : erro)

      Data/hora atual: 1/6/2023, 10:53