tags:

views:

299

answers:

3

Hi when running my vb6 application I am getting error like

" runtime error '53': file not found: rscomclNoMsg.dll"

then i tried to register that dll from cmd line using regsvr32. Then Iam getting error like

" DllRegisterServer entry point was not found".

I copied rscomclNoMsg.dl in c:\windows\system32 and C:\Program Files\Microsoft Visual Studio\VB98

Can anyone provide me the solution for this?

Thanks in advance.

A: 

What is rccomclNoMsg.dll? Is it a COM DLL or a .NET DLL? If the DLL was written in .NET, you (or whoever wrote the DLL) will have to take some steps to make it COM visible.

This may help you: Steps to make your .Net DLL useable from VB6

Heather
how to find that perticular dll is com dll or .net dll?I never worked vb6.Thanks
pbrp
Do you mean the DLL never worked in VB6, or you yourself have never written anything in VB6? Aside from trying to import the DLL into VB6, only a COM visible DLL is usable in VB6.
Heather
A: 

"DllRegisterServer entry point was not found" mean it is not a COM DLL.

" runtime error '53': file not found: rscomclNoMsg.dll" means that the VB6 did not find the DLL in any of it's search paths. It should be placed in either System32 or the application directory. Since you already tried System32 I would try moving it into whereever the application resides. If you are running it from the IDE then it has to be were the EXE or the DLL that has the DECLARE statement resides.

For Win32 DLL you need documentation on what functions are available and then use DECLARE to make them visible. As part of the declare statement you tell it what DLL to use. This MSDN article explains what going on.

DLL written in .NET have to be exposed through COM in order for them be visible to VB6.

If you have the source good you can look through the various project and find out where the declares are for rscomclNoMsg. Hopefully that will tell you where to place the dll.

More details will help refine my answer.

RS Conley
+2  A: 

Dependency Walker will probably be your friend here. You can run it on rscomclNoMsg.dll to find out what kind of a DLL it is, and what dependencies it has.

Kris Erickson