none
Error 429 - El componente ActiveX no puede crear el objeto - RRS feed

  • Pregunta

  • Buenas a todos,

    Cree una dll en vb .net en una pc de 64bit, lo que hace es descargar un archivo en un servidor FTP con el comando my.computer.network, solo eso, esto con el fin de usarla en una aplicación hecha en ms access 2010 en una pc de 32bit, agrego la referencia (TLB) y cuando creo el objeto me sale el error 429.

    No se que debo hacer o que hice mal

    Gracias anticipadas.


    Rookie



    martes, 9 de febrero de 2016 21:38

Todas las respuestas

  • Buenas a todos,

    Cree una dll en vb .net en una pc de 64bit, lo que hace es descargar un archivo en un servidor FTP con el comando my.computer.network, solo eso, esto con el fin de usarla en una aplicación hecha en ms access 2010 en una pc de 32bit, agrego la referencia (TLB) y cuando creo el objeto me sale el error 429.

    No se que debo hacer

    Gracias anticipadas.


    Rookie

    martes, 9 de febrero de 2016 22:15
  • Hola

    Sin ver nada más, poco puedo decir, pero parece que tu dll usa componentes de 64 bits que obviamente en el pc de 32 no están.

    Salu2,


    José Mª Fueyo [MS MVP Access]

    miércoles, 10 de febrero de 2016 9:46
  • Gracias amigo jose, agradezco tu interés en mi duda, a continuación lo que hice en .net y en mi pc de 64bits:

    En ms access lo coloco el TLB en las referencias sin problema no lo registro ni nada, solo lo agrego 

    luego al llamarlo me da el error 429 

                         

     

    Imports System.Runtime.InteropServices
    Imports System
    Imports System.IO

    Namespace FTPConecting


        <InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch), GuidAttribute("54407958-8431-4CDB-BAB7-702BF31EE3AE")> Public Interface Conencting_FTP
            Function Envia_archivo(ByVal NombreArchivo As String, ByVal RutaArchivo As String, ByVal url As String, ByVal usuarios As String, ByVal clave As String, ByVal SubirArchivo As Boolean) As Boolean
        End Interface
        ' 
        ' <ComSourceInterfaces(ComClass.comclass2)> _
        ' <ComClass(ComClass.cifrar, ComClass.descifrar)> _  
        <ClassInterface(ClassInterfaceType.AutoDual), GuidAttribute("885D6867-FCB6-40D1-B00B-330C2ACB4491")> Public Class ComClass
            Implements Conencting_FTP


            Public Sub New()
                MyBase.New()
            End Sub

            <ComVisible(True)> Public Function Envia_archivo(ByVal NombreArchivo As String, ByVal RutaArchivo As String, ByVal url As String, ByVal usuarios As String, ByVal clave As String, ByVal SubirArchivo As Boolean) As Boolean Implements Conencting_FTP.Envia_archivo

                Envia_archivo = False
                Try
                    Select Case SubirArchivo
                        Case True
                            My.Computer.Network.UploadFile(RutaArchivo & "/" & NombreArchivo, url & "/" & NombreArchivo, usuarios, clave)
                            Envia_archivo = True
                        Case False
                            My.Computer.Network.DownloadFile(url & "/" & NombreArchivo, RutaArchivo & "/" & NombreArchivo, usuarios, clave)
                            Envia_archivo = True
                    End Select

                Catch ex As Exception
                    Envia_archivo = False
                    MsgBox("Error en DLL Conecting" & vbLf & Err.Number & "-" & Err.Description, MsgBoxStyle.Critical, "Err Conecting")
                End Try

            End Function
        End Class
    End Namespace


    Rookie

    miércoles, 10 de febrero de 2016 14:42
  • Hola de nuevo.

    Poco te puedo decir, solo que revises las dependencias de tu dll a ver sí hay algo que falta cuando lo trasladas a Access.

    Suerte,


    José Mª Fueyo [MS MVP Access]

    viernes, 12 de febrero de 2016 8:56