title
Products            Buy            Support Forum            Professional            About            Codec Central
 

VBA CreateObject & Win7 64bit

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Expatriado

    • Dec 2009
    • 5

    VBA CreateObject & Win7 64bit

    I am running version 14.2 of dBpoweramp and attempting a Vista-32 bit to Win7- 64 bit migration. I have used MS access 2007 and 2010 (32 bit) to manage my music library and use various of the dBpoweramp dll’s functions and calls through ActiveX from VBA. On my win7 platform I have run into the “Active X Component Can’t Create Object” error when attempting a

    “Set objMCS = CreateObject("dMCScripting.Converter")”
    prior to a
    “Call objMCS.WriteIDTag(strFilepath, strTag, strValue)”.

    This worked fine on my Vista 32 bit system. The dMCScripting 1.0 Type Library appears to be registered in the sense that it shows as an available database reference and appears in the object browser but does not seem to instatiate. I have perused the possible causes and solutions on (Manually registering the dll, Copying the dll to the C:\Windows\SysWOW64\ directory, Registering the dll in the C:\Windows\SysWOW64\ directory) but am still stumped on how to successfully create the object under the win7 OS.
  • Spoon
    Administrator
    • Apr 2002
    • 44483

    #2
    Re: VBA CreateObject & Win7 64bit

    I am guessing the application (Access) has to be 64 bit for this to work.
    Spoon
    www.dbpoweramp.com

    Comment

    • mville
      dBpoweramp Guru

      • Dec 2008
      • 4021

      #3
      Re: VBA CreateObject & Win7 64bit

      On the desktop, create a new text document called Test.txt. Copy the following code and paste into Test.txt and save:
      Dim intTemp, strCodec, dMC

      Set dMC = WScript.CreateObject("dMCScripting.Converter")

      Do
      strCodec = dMC.GetCompressions(intTemp)

      If Len(strCodec) > 0 Then
      msgbox strCodec, vbOKOnly + vbInformation, "dMCScripting.Test"
      intTemp = intTemp + 1
      End If

      Loop Until Len(strCodec) = 0

      Rename Test.txt to Test.vbs. Run Test.vbs. Report back with the result.

      Comment

      • Expatriado

        • Dec 2009
        • 5

        #4
        Re: VBA CreateObject & Win7 64bit

        The script works fine beginning with "aiff" compression.

        As a side I have noticed that the dMCScripting.dll disappears from the list of available references in the VBA editor once unchecked. I have to browse back to the C:\program files (x86)\Illustrate\dbPoweramp\dmcScripting.dll to add it back to the list every time. I have tried registering a copy of the dmcScripting.dll in the sysWOW64 folder without any success either.

        Comment

        • Spoon
          Administrator
          • Apr 2002
          • 44483

          #5
          Re: VBA CreateObject & Win7 64bit

          sysWOW64 is for 32 bit processes, dmcScripting.dll is a 64bit dll
          Spoon
          www.dbpoweramp.com

          Comment

          • mville
            dBpoweramp Guru

            • Dec 2008
            • 4021

            #6
            Re: VBA CreateObject & Win7 64bit

            Originally posted by Expatriado
            The script works fine beginning with "aiff" compression.
            OK, so you can create the object in vbscript, so dMCScripting.dll is registered ok.

            After trying this out in vba (Word 2007), I too get the run-time error 429 activex component can't create object, however in VB 2008 it is working fine.

            Maybe a 32-bit version of dMCScripting.dll is required for vba (or try using Access 2010 64-bit).
            Last edited by mville; August 18, 2011, 10:39 AM.

            Comment

            • Expatriado

              • Dec 2009
              • 5

              #7
              Re: VBA CreateObject & Win7 64bit

              Eureka! I was going to ask if it was a 64 bit dll but got it into my head that since it was located in Program Files (x86) and previously worked fine with 32 bit VBA that it was the 32 bit dll. As advertised it works fine after an install of 64 bit Office and a little code clean-up in the declarations for compatibility. One would think the VBA compiler could generate a little more useful error message.

              Thank both of you so much for your help. It is really a cool product.

              Comment

              • Expatriado

                • Dec 2009
                • 5

                #8
                Re: VBA CreateObject & Win7 64bit

                Arghh... The teething problems with the 64bit migration. While problem with the dMCScripting.dll COM object was solved by the migration to 64bit Office I now have the same problem with the uPlayerCOMobj.dll. I cannot execute a CreateObject("uPlayer.uPlayerdB") with the default command shell but can execute the script in the SysWOW64 command shell. Am I correct to assume that uPLayer is currently a x86 only *.dll? If so are there currently plans for a 64bit version? If it is a x86 only *.dll does that mean it is not possible to utilize the uPLayer COM object from a 64bit office application with VB7? I know the latter question is not in your field of expertise and from my own internet research on the topic I suspect the correct answer is that as a 32 bit COM object it cannot be called from a 64bit Office application with VBA7 but maybe another user has more experience/expertise with this issue than myself.

                Comment

                • dbfan
                  dBpoweramp Guru

                  • Jan 2011
                  • 937

                  #9
                  Re: VBA CreateObject & Win7 64bit

                  Player is 32 bit only

                  Comment

                  Working...

                  ]]>