i am stuck with one kind of problem when using COM . below are the details ,
i have written a class which has a com object as a member variable. i have different member function one will create the com object other members will access the functions of the com object. the problem comes when i am trying to access function of the com .
Perhaps you are creating the COM object using one interface e.g. IUnknown or IMyInterface1 then, in your method, calling using another interface, say, IMyMethods interface which is not yet initialised? It's a bit hard to say any more without seeing more detail from yourself.
I need to check weather the monitor is on or off in windows XP. I had found that, in windows vista it is posible. I have tried it with some .NET languages, VB6 and C++. But nothing works. I have been checking for this from more than a month
I have tried all these stuffs which dose not help me.
WM_SYSCOMMAND and SC_MONITORPOWER raises event only when the monitor is switched off. That too this message is raised only when the application containing this code is set as the active(foreground) window. Where as my application needs to run in background.
GetDevicePowerState - Tried it by passing the handle of monitor which always results with the error code "6" which is "Invalid Handle". As per MS documentation this method wont work for display devices.
Win32_DesktopMonitor - In the Windows Management, I had queried the availability attribute which always resulted "3" which is "Running with Full power".
If their is anything else I had left out without trying, please post it.
Please help me with a code piece or with any refrence to the related articles.
i did a project that takes datas from the texboxes and open an excel sheet and show the datas in excel. the program works in my pc properly. but when i tried it in another pc it does not work.
gave me the error "Row height must be 0 - 255 characters long"
what is the problem i didnt find. i load the runtimes of microsoft office to another pc.
what was the error or what didnt i do?
Both of the above books are good. The first is easier reading,...but Don Box, "Essential COM" explains that thinking that motivated the designers.
There is an on-line book that covers a lot of the same material as both of the previously mentioned books, Inside COM+[^], to give you a idea of what COM architecture is like.
Also, there are quite a few excellent articles about all aspects of COM, reight here at The Code Project.
Ok, so I have been trawling the web to try and find an answer to this, but to no avail.
Basically, I have a DirectShow filter (well 2) which will allow me to configure a Hauppage WinTV USB adapter (though I doubt the specific filter is 100% relevant to answer the question) to use PAL (I) and to set the source as Composite In. So far, I have found ways to display a filter's property page, and to change the settings of a DMO filter, but not enumerate and change the properties of a non DMO source filter.
The reason for needing to do this is that both filter options seem to reset with Windows, meaning that our source becomes NTSC and Tuner In, rather than Pal-I and Composite In. The filters are classed as a Video Capture Source (WinTV HVR-900H Capture) and a WDM Streaming Crossbar Device (WinTV HVR-900H Crossbar), but the ability to change any property of any filter sans a GUI will be a step in the right direction
I am using a .Net wrapper to play with the filter graph through c#, but have limited knowledge of COM interop (thus the wrapper). Any answers in C++ are fine and dandy also, then I'll worry about how to convert them to C#, just in need of an example really.
I have an in-proc ActiveX control I developed myself. It does not use the standard .CAB based deployment strategy,
rather - I have my own setup program, and my own version checking via a website.
Now, imagine the following:
1. User enters the website with an old ActiveX, which is loaded.
3. User runs the setup program, but cannot upgrade the ActiveX - the OCX is locked by Internet Explorer.
Does anyone have any tips as to what I can do in such a situation?
Or, better yet, does anyone know how to force Internet Explorer to unload an OCX?
One of the basics of ActiveX (COM) is that you can have only one version of a component in a machine. When you register a newer version, the older version is automatically unregistered (leading to what is known as DLL hell).