ActiveX Component Can't Create Object

the-m0th

Registered User.
Local time
Today, 16:55
Joined
Apr 14, 2015
Messages
51
Hello All,

I've been trying to interface a database with our phone system to make it able to dial and also pop screens, everything has been going well (ish) and i've currently (with major help from the phone software developer and you guys here) got a form dialling, hanging up and displaying an incoming callers number. the only problem i'm having at the moment is that i can't get it to work on the computer in my office. the machine is exactly the same as the machines downstairs in the call room. i've checked the references in the VBA editor and they are exactly the same. I have the phone client software installed and configured correctly with its library referenced in VBA yet it still will not graft. when i open the database on my machine i get "activex component can't create object" and when i click the dial, or hangup button on my machine i get "Object variable or with block variable not set" yet i can go to any of the 20 odd other machines in my workplace and it will work without issue. i've tried repairing the .net framework and installing any updates for it, i've tried re-installing it and it still won't have any of it and i'm totally at a loss. any help you guys can throw my way would be much appreciated. otherwise i'm going to have to remove office and reinstall it.

Thanks
Wayne
 
You may need to register the ocx, dll, or tlb file. Google "regsvr32"
 
hi,

the library file consists of a .dll and a .tbl file that is referenced through the tools>references menu in the vba editor.

i believe it is referenced in the code in the general declarations like this...

Code:
Option Compare Database

Dim WithEvents CT As Metro_MaxxCom_CTI_COM_API.CTI
Dim Current_Call_ID As String

and in the form load event

Code:
Private Sub Form_Load()
On Error GoTo Err_Form_Load
    'Set CT = New CTI
    Set CT = CreateObject("MaxxDTC.CTI")
    Exit Sub
    
Err_Form_Load:
    MsgBox Err.Description
End Sub

thanks again for your help.
 
hi,

i've tried registering the .dll and .tlb files with both the 64 and 32 bit versions of regsrv and all i get is an error. i'm a bit reluctant to start messing with the code as the database in it's current form will work on all of the other machines in my workplace, which leads me to think that it's a problem with my machine.
 
* What is the error message?
* Are you sure that you're using the correct path to the dll?
* If the path contains spaces, did you enclose it in quotes?
* Did you try the other type of referencing that I mentioned in my last post?
 
hi,

it's error 429, a runtime error. i am definitely using the correct path to the dll file and it was definitely enclosed in quotes. i also tried your NEW reference instead of the CREATEOBJECT and when i ran the debugger it stopped in exactly the same place. like i said, i don't think it's a problem with any of the code as the database works on 20 other machines. i think it's more likely a problem with ms access or some permissions in windows maybe.
 
You said you encountered an error whilst registering the dll, it's that error message I'm after. Yes quite possibly a problem with the other machines. Are they 32 bit or 64 bit machines? Is there a pattern?
 
i've solved it. turns out it was the installation of the telephone client software. we had to replace its server a few weeks back. i was thinking about it earlier and this machine is the only machine to have the client installed since we carried out the work. i decided to check the install folder on the other machines and they had a lot more files in them with newer dates. turns out the guy who did the swap had put an outdated version of the software in the shared folder with the install files in. i fired up the old server, found a newer version of the client and installed that. BOOM! no more activex error.

cheers for the advice and sorry for wasting everyones time.
Wayne
 
Ka boom! Now you can get back to making unsolicited calls :p :D
 

Users who are viewing this thread

Back
Top Bottom