title
Products            Buy            Support Forum            Professional            About            Codec Central
 
Results 1 to 9 of 9

Thread: VBA CreateObject & Win7 64bit

  1. #1

    Join Date
    Dec 2009
    Location
    New Zealand
    Posts
    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.

  2. #2
    Administrator
    Join Date
    Apr 2002
    Posts
    43,854

    Re: VBA CreateObject & Win7 64bit

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

  3. #3
    dBpoweramp Guru
    Join Date
    Dec 2008
    Location
    London, UK
    Posts
    4,015

    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.

  4. #4

    Join Date
    Dec 2009
    Location
    New Zealand
    Posts
    5

    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.

  5. #5
    Administrator
    Join Date
    Apr 2002
    Posts
    43,854

    Re: VBA CreateObject & Win7 64bit

    sysWOW64 is for 32 bit processes, dmcScripting.dll is a 64bit dll

  6. #6
    dBpoweramp Guru
    Join Date
    Dec 2008
    Location
    London, UK
    Posts
    4,015

    Re: VBA CreateObject & Win7 64bit

    Quote Originally Posted by Expatriado View Post
    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; 08-18-2011 at 06:39 AM.

  7. #7

    Join Date
    Dec 2009
    Location
    New Zealand
    Posts
    5

    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.

  8. #8

    Join Date
    Dec 2009
    Location
    New Zealand
    Posts
    5

    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.

  9. #9
    dBpoweramp Guru
    Join Date
    Jan 2011
    Posts
    937

    Re: VBA CreateObject & Win7 64bit

    Player is 32 bit only

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •