Link to home
Start Free TrialLog in
Avatar of gorgar
gorgar

asked on

ActiveX Control is not registered properly


Hi,

i got an OCX for playing MP3. When i try to add it to my
project it's not available in Registered ActiveX Controls.

When i browse to the OCX i got the following message:
 
       The ActiveX control is not registered properly, or   its type library version number is incorrect.
       Try registering the control by removing and importing it in the Component gallery.

Then i register the control (regsvr32) and it still isn't available in Registered ActiveX Controls. And yet, Active X Control Test Container says - it's registered properly.

Help!

Regards,
gorg





Avatar of mikeblas
mikeblas

What are you using to "browse to the OCX"?  What does that mean?

How does the Active X [sic] Control Test Container say that it's registered properly? The Test Container has no registration test code in it, so it doesn't validate the way that controls have been registered. What do you mean, more specifically?

B ekiM
What are you using to "browse to the OCX"?  What does that mean?

How does the Active X [sic] Control Test Container say that it's registered properly? The Test Container has no registration test code in it, so it doesn't validate the way that controls have been registered. What do you mean, more specifically?

B ekiM
Try to seach in regisdtry using regedit utility your control file name under HKEY_CLASSES_ROOT\CLSID key. If you find look at TypeLib and search it. Also check id Control subkey is present under control's clsid key
Avatar of gorgar

ASKER


Well, i browse to the OCX this way:
       Project -> Add To Project -> Components And Controls...
Then i use Look in to find the OCX. That's when i get the error
message.

About Test container: File -> Register Controls... I find my OCX
and click 'Reregister' button. After that i get message:

         "The control was successfully reregistered."  which
means everything's ok, doesn't it?


Regards,
gorg

 




ASKER CERTIFIED SOLUTION
Avatar of sllsgl
sllsgl

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
The message you get from Test Container doesn't mean everything's okay in that the control is guaranteed to be createable. It means that Test Container successfully loaded the control and called its registration entry point without error.  The control said it registered.

A successfully registered control might refuse to create at runtime for dozens of different reasons, including the licensing issue that sllsgl mentions.

B ekiM
Avatar of gorgar

ASKER


Err, i forgot to mention that i'm using Win98. I don't know if it has something to do with the whole thing, but i know the guy using Win95 and Delphi and everything works just fine.

Is it me or is it Delphi :))


regards,
gorg


It doesn't matter, it's not the OS fault.  It's the license of those developing program.
I don't know about Delphi, but if Delphi has its own set of ActiveX Controls in its program, it allows users to distribute & uses the controls as long as Delphi is installed, same for Visual C++, VB, ..... etc...

Avatar of gorgar

ASKER


No, it's not the licence matter - it's shareware. It should work for a while and then quit if not registered. And it doesn't :(

gorg


If that's the case, contact the developer of that shareware, he should be the best person  to help :)  BTW, have u tried CreateControl() ... ???
It's probably you. What happen when you started debugging the problem?

B ekiM
Avatar of gorgar

ASKER


I think contacting the developer is only thing left :(
And, BTW, i did try CreateControl :((

gorg

What did you see happen when you traced into CreateControl()?

B ekiM
Avatar of gorgar

ASKER



Hi guys,

After days and days of snooping around i finally solved 'OCX control problem'. It's not VC++ and it' s not me :)  It turned out to be REGSVR32.EXE. I don't now if it's bug or something else but whenever I tried to register my OCX with  REGSVR32 I got no error but I couldn't use it in my project. After I while I got in possession  of  MMREGOCX.EXE along with trial version of some OCXs by Swift Soft and I tried to register my OCX with MMREGOCX. Again I got no error but this time I managed to insert OCX into my project!

Funny, ain't it?

Thank you all for your time

Regards,
Gorg