MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    Abrir em 32 bits e 64bits

    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1089
    Registrado : 07/12/2011

    Abrir em 32 bits e 64bits Empty Abrir em 32 bits e 64bits

    Mensagem  tauron em 21/6/2019, 19:25

    Pessoal, utilizo esse modulo (acho que era de um modelo do Assis), mas ele so roda em 32 bits quando instalo em maquina com 64 é solicitado para marcar com "PtrSafe". Seria possível prepará-lo para rodar independente do sistema? (o modulo tem mais rotinas mas o erra so ocorre nesta parte)

    Código:
    Option Compare Database
    '////////////////////////////////////////////////////////////////////
    'Password masked inputbox
    'Allows you to hide characters entered in a VBA Inputbox.
    '




    'API functions to be used
    Private Declare Function CallNextHookEx _
    Lib "User32" ( _
    ByVal hHook As Long, _
    ByVal ncode As Long, _
    ByVal wParam As Long, _
    lParam As Any) _
    As Long

    Private Declare Function GetModuleHandle _
    Lib "kernel32" _
    Alias "GetModuleHandleA" ( _
    ByVal lpModuleName As String) _
    As Long

    Private Declare Function SetWindowsHookEx _
    Lib "User32" _
    Alias "SetWindowsHookExA" ( _
    ByVal idHook As Long, _
    ByVal lpfn As Long, _
    ByVal hmod As Long, _
    ByVal dwThreadId As Long) _
    As Long

    Private Declare Function UnhookWindowsHookEx _
    Lib "User32" ( _
    ByVal hHook As Long) _
    As Long

    Private Declare Function SendDlgItemMessage _
    Lib "User32" Alias "SendDlgItemMessageA" ( _
    ByVal hDlg As Long, _
    ByVal nIDDlgItem As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) _
    As Long

    Private Declare Function GetClassName _
    Lib "User32" _
    Alias "GetClassNameA" ( _
    ByVal hWnd As Long, _
    ByVal lpClassName As String, _
    ByVal nMaxCount As Long) _
    As Long

    Private Declare Function GetCurrentThreadId _
    Lib "kernel32" () _
    As Long
    Anexos
    Abrir em 32 bits e 64bits AttachmentLista Arquivo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (25 Kb) Baixado 3 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 757
    Registrado : 13/12/2016

    Abrir em 32 bits e 64bits Empty Re: Abrir em 32 bits e 64bits

    Mensagem  Alexandre Fim em 21/6/2019, 20:58

    Olá Tauron,

    É necessário fazer esta implementação no código, conforme exemplo abaixo:
    Código:


    #if Win64 then
      Declare PtrSafe Function MyMathFunc Lib "User32" (ByVal N As LongLong) As LongLong
    #else
      Declare Function MyMathFunc Lib "User32" (ByVal N As Long) As Long
    #end if
    #if VBA7 then
      Declare PtrSafe Sub MessageBeep Lib "User32" (ByVal N AS Long)
    #else
      Declare Sub MessageBeep Lib "User32" (ByVal N AS Long)
    #end if


    Fonte: https://docs.microsoft.com/pt-br/office/client-developer/shared/compatibility-between-the-32-bit-and-64-bit-versions-of-office

    Boa sorte

    []'s


    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1089
    Registrado : 07/12/2011

    Abrir em 32 bits e 64bits Empty Re: Abrir em 32 bits e 64bits

    Mensagem  tauron em 21/6/2019, 23:46

    Entao Alexandre eu já havia tentado e não resultou, pode ser que tenha feito algo errado. Veja no arquivo anexo
    Anexos
    Abrir em 32 bits e 64bits AttachmentLista Arquivo2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (26 Kb) Baixado 3 vez(es)
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1089
    Registrado : 07/12/2011

    Abrir em 32 bits e 64bits Empty Re: Abrir em 32 bits e 64bits

    Mensagem  tauron em 22/6/2019, 00:43

    Alexandre, através do link que disponibilizou, encontrei este codigo que aparentemente deu certo. Irei realizar os teste agora. Abraços e obrigado mais uma vez. Very Happy

    Código:
    #if VBA7 then    ' VBA7
    Declare PtrSafe Function SHBrowseForFolder Lib "shell32.dll" _
      Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
    Public Type BROWSEINFO
      hOwner As LongPtr
      pidlRoot As Long
      pszDisplayName As String
      lpszTitle As String
      ulFlags As Long
      lpfn As LongPtr
      lParam As LongPtr
      iImage As Long
    End Type
     
    #else    ' Downlevel when using previous version of VBA7
    Declare Function SHBrowseForFolder Lib "shell32.dll" _
      Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
    Public Type BROWSEINFO
      hOwner As Long
      pidlRoot As Long
      pszDisplayName As String
      lpszTitle As String
      ulFlags As Long
      lpfn As Long
      lParam As Long
      iImage As Long
    End Type
     
    #end if
    Sub TestSHBrowseForFolder ()
        Dim bInfo As BROWSEINFO
        Dim pidList As Long
        bInfo.pidlRoot = 0&
        bInfo.ulFlags = &H1
        pidList = SHBrowseForFolder(bInfo)
    End Sub
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1089
    Registrado : 07/12/2011

    Abrir em 32 bits e 64bits Empty Re: Abrir em 32 bits e 64bits

    Mensagem  tauron em 24/6/2019, 19:28

    Entao mestres, após inserir o código postado na mensagem anterior, o sistema funcionou perfeitamente na minha maquina (Win10 - 64Bits, Office 2013 - 64 Bits). Ao testar em uma máquina com win7 - 32 Bits e office 2010 - 32 Bits deu o seguinte erro:

    Erro de Compilação:

    Somente comentários podem aparecer após End Sub, End Function ou End Property
    Anexos
    Abrir em 32 bits e 64bits AttachmentLista Arquivo Erro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 7 vez(es)

    Conteúdo patrocinado

    Abrir em 32 bits e 64bits Empty Re: Abrir em 32 bits e 64bits

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 18/7/2019, 16:43