ERRO DE COMPATIBILIDADE SHELL32

LORDAUTUNM 06/05/2017 12:12:13
#473774
Bom, consegui instalar e rodar o vb6 no Win10 64x, tive problemas de compatibilidade com alguns comando como o sendkeys, mas foi fácil de resolver, agora estou com um erro que não consigo resolver, referenciei a Shell32 no projeto e criei a seguinte função:

Public Function AbriPasta(xTela As Form, Optional xMensasem As String = [Ô]Localizar pasta[Ô])
Dim x As New Shell32.Shell
Dim f As Shell32.Folder2

Set f = x.BrowseForFolder(xTela.hWnd, xMensasem, 16)

If Not f Is Nothing Then
If UCase(f) <> [Ô]COMPUTADOR[Ô] Then
AbriPasta = f.Self.path
Else
AbriPasta = [Ô][Ô]
End If
Else
AbriPasta = [Ô][Ô]
End If
End Function

Funciona normal no windows8 e no windows10 tanto nas versões 32 e 64 bits, porem no windows7 esta retornando o erro:

Run-time error [ô]430[ô]:
Class does not support Automation or does not support expected interface

Alguém tem ideia de como resolver?
LORDAUTUNM 08/05/2017 10:14:19
#473793
Citação:

:
Bom, consegui instalar e rodar o vb6 no Win10 64x, tive problemas de compatibilidade com alguns comando como o sendkeys, mas foi fácil de resolver, agora estou com um erro que não consigo resolver, referenciei a Shell32 no projeto e criei a seguinte função:

Public Function AbriPasta(xTela As Form, Optional xMensasem As String = [Ô]Localizar pasta[Ô])
Dim x As New Shell32.Shell
Dim f As Shell32.Folder2

Set f = x.BrowseForFolder(xTela.hWnd, xMensasem, 16)

If Not f Is Nothing Then
If UCase(f) <> [Ô]COMPUTADOR[Ô] Then
AbriPasta = f.Self.path
Else
AbriPasta = [Ô][Ô]
End If
Else
AbriPasta = [Ô][Ô]
End If
End Function

Funciona normal no windows8 e no windows10 tanto nas versões 32 e 64 bits, porem no windows7 esta retornando o erro:

Run-time error [ô]430[ô]:
Class does not support Automation or does not support expected interface

Alguém tem ideia de como resolver?




Alguma ideia pessoal?
DS2T 08/05/2017 11:33:33
#473796
Olá amigo, isso parece ser erro devido a versões incompatíveis da dll...
Tente usar o CreateObject para ver se funciona.

Dim x As Object
Set x = CreateObject([Ô]Shell.Application[Ô])

Abraços!
Tópico encerrado , respostas não são mais permitidas