|
And what suggestions are you looking for?
With best wishes,
Vita
|
|
|
|
|
I am trying to create an add-in component for Windows Messenger (Windows XP) using C++ and ATL with the Visual Studio .Net IDE. I have written the component and implemented the appropriate interfaces (and registered it!), but I cannot succeed in getting the Messenger Client to create an instance of my component although I can install it successfully (RegisterAddIn). I can create an instance of my component using the OLE/COM Object Viewer tool. I do not want to get into technical stuff at this point. Rather, I would like to know if anyone here has succeeded in implementing an add-in component for Windows Messenger.
Thanks.
|
|
|
|
|
I have found my answer: the Add-Ins were not enabled in my version of WM.
Bye!
|
|
|
|
|
Hi to all,
I have a few in process COM Components (dll's) that I need to register from my installation script withing the system in order for my application to work.
When I register these components in WIN2000 they work fine. But I cannot IN ANY WAY register them under WIN 98 or XP. REGSVR32 returns an error " THe specified module could not be found". The module it is there and it is not corrupted, but I cannot register it? Has anyone got an idea on why is this happenning and what can I do to resolve this problem?
Thanks in advance.
Best Regards
Black ghost
|
|
|
|
|
If you are using ATL, make sure your .tlb file is either embedded in the DLL file, or at least in the same directory.
If you are not using ATL, what is your implementation of DllRegisterServer() ?
MS quote (http://www.microsoft.com/ddk) : As of September 30, 2002, the Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK will no longer be available for purchase or download on this site.
|
|
|
|
|
If its an ATL project, have you included ATL.dll?
Dave
|
|
|
|
|
The static version of ATL Registrar can be also used with _ATL_STATIC_REGISTRY defined.
With best wishes,
Vita
|
|
|
|
|
1. Check the dll's with http://www.dependncywalker.com
|
|
|
|
|
I can't recieve the WM_CREATE message in my control. How could this happen? And what are the possible reasons?
thanks
|
|
|
|
|
i'm writing a directshow application that requires the \
user to be able to select an area (which can be rectangular,
circular or a freeform polygon) on the video so i can alter
this section using a filter..
i've looked at gdi in the msdn library, and i am considering
to put a transparent bitmap on top of the video and using
regions..
is there a better way (other than using directinput to define
this select)?
(don't shoot me, i'm new to this...)
|
|
|
|
|
That's right. I guess you know the IDirectDrawSurfaceX interface jas a method that gives you the current dc, so you can do virtually anything on the surface.
However you'll have to do this in a non visible surface, otherwise it flickers.
MS quote (http://www.microsoft.com/ddk) : As of September 30, 2002, the Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK will no longer be available for purchase or download on this site.
|
|
|
|
|
I just read Mike Dunn's article on an introduction to COM last night, which was really good, however I am just wondering how long do you think COM will exist with the release of the .NET Framework this year. Will it never go away (at least due to the framework itself?). What do you think, just wondering what value it still holds as it seems to be so very powerful?
Nick Parker
So like children pointers should be left to grown ups. - Norm Alomond
|
|
|
|
|
Windows relies so heavily on COM that I don't think it will ever go away - which is just as well coz I love it
Dave
|
|
|
|
|
Hello !
I would like to know if it is possible to have default parameters in a COM interface (IDL).
Anyone knows that, and how to do it ?
Thank you for your help !
Jerome
|
|
|
|
|
add the [optional] attribute in front of the parameter(s).
MS quote (http://www.microsoft.com/ddk) : As of September 30, 2002, the Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK will no longer be available for purchase or download on this site.
|
|
|
|
|
[id(1)] HRESULT Func1([in, optional] long a);
[id(2)] HRESULT Func2([in, defaultvalue(777)] long a);
[id(3)] HRESULT Func3([in, optional] BSTR a);
[id(4)] HRESULT Func4([in, defaultvalue("xxx")] BSTR a);
And only for VARIANT
[id(5)] HRESULT Func5([in, optional] VARIANT a);
With best wishes,
Vita
|
|
|
|
|
I have a question: I have a serialized OLE Object DocFile (Excel Worksheet) that I need to copy to the clipboard and then paste into MS Word using the "PasteSpecial" method and Automation...I use StgOpenStorageEx to load the docfile and then I copy it to the clipboard using COleDataSource::CacheData and COleDataSource::SetClipboard... problem is when I try to paste special in Word, it says "Clipboard is empty or contains invalid data"...I am using the clipboard format "DataObject" when copying to the clipboard and the STGMEDIUM type is TYMED_ISTORAGE. I read that it might be that I need to use the "Embed Source" and "Object Description" clipboard formats in order to copy correctly. Is this true? How should I do this? Thanks for your help...
-Striker9
|
|
|
|
|
I have just created an empty COM DLL with support to MFC using VC++5.0. When complied, it fails to register.
Regsvr32: LoadLibrary(".\Debug\testxyz.dll") failed.
GetLastError returns 0x000003e6.
I looked up for the error message and it is "Invalid access to memory location"
Thanks for your help in advance.
|
|
|
|
|
Put a breakpoint in DllRegisterServer() .
And if you don't export such function, well eh.. now you know!
MS quote (http://www.microsoft.com/ddk) : As of September 30, 2002, the Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK will no longer be available for purchase or download on this site.
|
|
|
|
|
I tried putting a break point in DLLRegisterServer but it doesnot stop there..
Just to clarify once more this error is poping after linking while registering ActiveX Control..
Thanks
|
|
|
|
|
The custom build-step in VC does a regsvr32 component.dll which in fact loads the component and calls DllRegisterServer() on it.
If it doesn't reach DllRegisterServer(), that's because the problem lies where the COM component itself is loaded, or during the initialisation of the global vars of your COM component.
In other words, your component links with .lib libraries. Some of these libraries export functions and thus the associated .dll file is loaded automatically by the COM component. That's where the problem is. Either you've got a missing DLL the system is trying to load (the error is sometimes weird by the way), or it loads one of the DLLs which executes wrong code in their DllMain() entry point.
What should do now is isolate the code. Use dependancy walker and list all DLLs. Then for each dlls, do a small program that loads them (::LoadLibrary() should be enough). Or if you know how to use it, use RunDll32.exe (Windows 9X) or DllHost.exe (2K/XP).
To get to know if the error is because of one of your global vars, just try loading a stripped down version of your component (all linked code removed) by doing a simple ::LoadLibrary().
Good luck!!!!
MS quote (http://www.microsoft.com/ddk) : As of September 30, 2002, the Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK will no longer be available for purchase or download on this site.
|
|
|
|
|
Really appreciate you taking time and explaining. Thank you.
I have created this COM component using the wizard. After the wizard is completed I have not added any methods or any code manually to this project. I simply compiled it and that's when I get this message.
So If I understand your feedback correctly, some of the libraries that the the project has linked are missing or cannot load..
How can I investigate which Dll is having problem with ?
Thanks once again.
|
|
|
|
|
ssirisha wrote:
I have created this COM component using the wizard.
So you probably haven't added any features from external libraries yet. Do you ?
If that's the case, then you may also get the problem if you use the wizard to create an ActiveX or ATL component, with no custom implementation inside. Tried it ?
I would suggest that if this code linking and registering is fine, that you start adding code from this point, until you reach the error. That may speed up a little bit code isolation.
Otherwise, as I said, I would load each external library separately with a ::LoadLibrary().
MS quote (http://www.microsoft.com/ddk) : As of September 30, 2002, the Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK will no longer be available for purchase or download on this site.
|
|
|
|
|
No features from external libraries added.
No custom implementation added.
I soon as I finish with the wizard, I tried to compile.
Thanks.
|
|
|
|
|
I have a requirement at work to produce a component that:
a. Allows the use of intellisense in VB
b. Allows the 'interface' to be updated remotely, from a server for example. Or rather the interface frequently has more methods added to it.
c. To be used in VB
Any thoughts?
My initial feeling is that only (b) is possible, and by using late binding through IDispatch. I don't think that (a) is a possibility.
Trouble is that these 'requirements' break the idea of interfaces remaining constants. The requirements come from a fairly non-techie person who claims that 'we had it in our last place'.
B.
|
|
|
|