|
plz search the link
http://codeproject.com/com/
and in this site u got various projects and when u study it than u know how to make com interface ...it is really very easy to make com interface ...just go to this site
|
|
|
|
|
If you see Com on codeproject you can find your answer.
|
|
|
|
|
Please help me.
My problem is that I developed a COM component. I can use
REGSVR32 c:\COMDLL\AuthEngineCOM.dll
to register the COM in a computer which has Microsoft Visual Studio .NET 2003. But when I use
REGSVR32 c:\COMDLL\AuthEngineCOM.dll
in a computer without Microsoft Visual Studio .NET
a error appear:
LoadLibrary ("c:\COMDLL\AuthEngineCOM.dll") failed - The specified can not be found.
Could somebody tell me which dependence that I missing?
Thanks,
William
William
|
|
|
|
|
Hi
You just copy your dll file "AuthEngineCOM.dll" and paste it into C:\\WINDOWS\System32\
After that try Run->regsvr32 AuthEngineCOM.dll
bye
|
|
|
|
|
Hi,
I have Visual Studio 2005 and my regsvr32 also fails with the message "testdll.dll was loaded, but the DllRegisterServer was not found".
I have copied it to the Windows/System32 folder as well.
Kindly help me out here.
Thanks
|
|
|
|
|
Hi
Every Dll file should contain DllRegisterServer Function.
Here your Dll file test.dll might not have that DllRegisterServer Function inside.
If so you can not register that file through RegSvr32.exe .
|
|
|
|
|
DllRegisterServer is one of the key function that needs to be implemented in a COM server (.DLL). This function needs to be exported from this DLL.
Please check if you have exported this function from your DLL. Also, you can use Dependency Walker[^] to see the dependencies of your DLL as well the functions that are exported.
I hope this helps. Let me know if you need more information.
S o h a i l K a d i w a l a
To Err Is Human; to Debug, Divine
modified 21-Apr-21 21:01pm.
|
|
|
|
|
At a guess you've built using the dll runtime and it's not present on the machine. Use a dependency viewer on the target machine and make sure all the DLLs you're component depends on are present. One can found here[^].
Steve
|
|
|
|
|
You can use Dependency Walker [^] to see the dependencies of your DLL. You can find the missing dependencies using this.
S o h a i l K a d i w a l a
To Err Is Human; to Debug, Divine
modified 21-Apr-21 21:01pm.
|
|
|
|
|
Hi William,
try to use depend.exe with your dll in order to find the missing dependecy.
Cheers Carlo
|
|
|
|
|
Hi
I think the problem is the COM (dll) dependencies, maybe your COM has references to another dll that doesn't not exist in target pc.
You can see referencias with Dependency Walker (Visual Studio Tools)
David Leyva
|
|
|
|
|
Hello William,
I also had this problem.
I solved it by using a tool called DependencyWalker. It is provided
with the VisualStudio IDE. Analyze your COM-Dll with this tool and you
will see the modules/dlls that are missing on your system.
Cheers,
Norbert
|
|
|
|
|
To all the gurus at Code Project I'm running into an issue using VB.NET DLL withing Powerpoint VBA code.
I created a comClass object in VB.NET, built the DLL and in Powerpoint I'm referencing this DLL and class object.
The very first time the "Call VBNETComClass.GetID" line of code is executed, it takes 10-15 seconds for the code to actually execute. Does anyone have any idea on 1) What is causing this issue, and 2) How do you fix it?
If you stay in Powerpoint and call this comClass again the second time, WHAM...opens up instantaneously.
Thanks so much!!!
|
|
|
|
|
No need to respond to this issue anymore as it has been resolved.
I created the problem by copying a comClass object in the Solution Project, and then doing a paste to create "another" comClass object. When I tried to build the solution, I got a "duplicate GUID's" error. DUH!! So, what did I do next? I created another comClass object, took it's generated GUID'S and loaded them into the comClass I just pasted (so now the GUID's are unique and the Solution built). NO CAN DO!!!! Those GUID's I copied into the pasted comClass we're and always will point to the generated comClass. So, when you reference the DLL and its classes in VBA, and do your first instantiation, it's looking for the wrong GUID's. So it goes through the whole registry, finally finding the correct object.
|
|
|
|
|
Hi All,
I am developing a COM inprocess Server. Here I want to develop an interface file called for ex-> "MyInterface.h"
How do i create this file ? Is there any IDL compiler used ?
-- modified at 8:06 Thursday 21st September, 2006
|
|
|
|
|
|
MIDL Compiler[^]
S o h a i l K a d i w a l a
To Err Is Human; to Debug, Divine
modified 21-Apr-21 21:01pm.
|
|
|
|
|
Dear All,
Can anybody tell that how we can create a inprocess COM server program using C++?.
I know the basic thinks. but i cant get any articles regarding that where should i start program and how can i proceed further?
Please help me.
|
|
|
|
|
Sakthiu wrote: but i cant get any articles regarding that where should i start program and how can i proceed further?
Here[^]are some.
|
|
|
|
|
Thankyou so much.. let me gothrough this.
If I will have any questions, I let you know.
Thanks.
|
|
|
|
|
The past few day I have been trying to implement an event callback system within a VC++6.0 COM DLL. The DLL will then be referenced within a VB6 project.
I started off by creating a simple ATL Com project. The project only contain my two newly created COM object (StatusListener, StatusEvents). The StatusEvents object contains all the empty functions and will be overriden by a class in the VB6 project. The StatusListener object contains the Advise function which takes in an instance of the VB6 projects derived StatusEvents class. Once that takes place any update in the COM are sent directly back to the VB6 project via the derived class.
All of that was expected, the problem comes in when I tryin to implement the same functionality into a preexisting ATL COM project. Everything builds fine and the DLL is created. I reference the DLL and Implement the StatusEvents class in a VB6 client. When I try to Create and instance of either StatusListener or StatusEvents I get the following error msg.
"Compile error 429" "ActiveX Component can't create object"
I have put my Test DLL and client here:
ATL Com Tests.zip
Any suggestions would be most welcome.
|
|
|
|
|
Baldelicious82 wrote: All of that was expected, the problem comes in when I tryin to implement the same functionality into a preexisting ATL COM project.
Can you explain this? Do you mean to say, are adding same interfaces to preexisting project ?
Have you taken care, its should be mentioned in .idl ,too?
|
|
|
|
|
I am recreating the two ATL Objects within the preexisting DLL.
|
|
|
|
|
I'd really recommend using the Automation events mechanism: define a dispatch interface containing the events you will be firing, implement IConnectionPoint on a C++ class using IConnectionPointImpl and on the main object itself using IConnectionPointContainerImpl.
The Visual Studio environment should generate the right code for you if you check the 'Support Connection Points' checkbox on the Attributes tab when creating a new ATL COM object (VC6, may be different in newer versions). It automatically creates an _IMyObjectEvents interface, assuming you specified MyObject as the COM class name in the wizard. To implement the interface, build the project then right-click your class in ClassView and choose Implement Connection Point. Tick _IMyObjectEvents and click OK. VC6 then generates a CProxy_IMyObjectEvents class which implements a FireXxx method for every method in the event interface.
In the VB6 application, use WithEvents so that VB hooks up the event handlers (named variableName_EventName) for you.
|
|
|
|
|
thanks for the help I managed to get it working. My problem was that I wasnt implementing the connection point at least on the event side. The advise function i just ended up throwing into an already implement interface.
Thanks again for the help.
|
|
|
|