|
I have a good grasp of the c++ language and mfc.
Please recommend me a com book.
Thank you very much.
|
|
|
|
|
For starters, Inside COM by Dale Rogerson is a good read.
|
|
|
|
|
|
Is this book published or available in PDF?
|
|
|
|
|
It's published and available in pdf (try google)
|
|
|
|
|
it is a very good but pure C++ book (on COM) and you get deep knowledge but wont get speed for COM.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
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.
What's the easiest method to go about this?
modified on Thursday, November 12, 2009 8:53 AM
|
|
|
|
|
I am using interop for creating excel ..
i ve cretaed the excel file.
Now i need to hide or delete some of the columns....
Can u plz tell me the code for that...
Thanks in Regardss....
|
|
|
|
|
Just use the Excel object model!!!! To hide column A in the active worksheet, you can use this:
ActiveSheet.Cells(, 1).EntireColumn.Hidden = True
To delete it, use this:
ActiveSheet.Cells(, 1).EntireColumn.Delete
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Hey,
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.
2. Website has JavaScript that loads the ActiveX, tells the user that it is old and moves him to a different page with a download link for a new setup program that contains the new ActiveX.
3. User runs the setup program, but cannot upgrade the ActiveX - the OCX is locked by Internet Explorer.
Note that during step 3 there is NO webpage which uses the ActiveX - the download page has no JavaScript at all, in fact.
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?
Thank you!
|
|
|
|
|
The simplest way is to restart Internet Explorer
|
|
|
|
|
Is there a way to do this without restarting Internet Explorer?
I was thinking of instantiating a specific version of the ActiveX, perhaps via AppIDs.
Is this possible?
If I do not have a specific version, I can try and spawn a "generic" ActiveX (with no specific version), and test its version.
Is this feasible?
|
|
|
|
|
As far as i know, ActiveX is a passive side.
And you can't enforce IE to unload it.
|
|
|
|
|
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).
|
|
|
|
|
Okay, I get it. So what do I do? A new CLSID for each version of the component?
|
|
|
|
|
Probably yes, but you are the best judge
|
|
|
|
|
haha
Thanks, very helpful
|
|
|
|
|
Why not mark it an answer if that really helped ?
|
|
|
|
|
Because it honestly didn't help.
What would help would be guidelines that assist me in the activity of creating updaters for ActiveX controls, etc.
Alon
|
|
|
|
|
What is your problem with restarting IE, all ActiveX controls (including those from Microsoft) are updated that way, it means there is no way to update the controls without restarting IE. Let me know if you find a way of doing it
|
|
|
|
|
How do you measure the performance of your C++ perf-critical code ?
Are you relying on automatic profilers or do you resort, for particular reasons, to compile time methods ?
If today, profiling is still an issue to you, then I would announce to you the availablity of easy profiler at Code Project along with source code that you may give it a try for your needs.
URL :
<a href="http://www.codeproject.com/KB/cpp/easyprofiler.aspx">Easy Profiler - Compile-time Profiler for Unmanaged C++</a>[<a href="http://www.codeproject.com/KB/cpp/easyprofiler.aspx" target="_blank" title="New Window">^</a>]
Use the article-forum to raise any issue and I will be glad to help.
Easy Profiler : Now open source !
http://www.codeproject.com/KB/cpp/easyprofiler.aspx
modified on Friday, November 6, 2009 1:52 AM
|
|
|
|
|
|
message tye changed to "News" instead of "Question"
Easy Profiler : Now open source !
http://www.codeproject.com/KB/cpp/easyprofiler.aspx
|
|
|
|
|
I want to invoke exe(MFC without GUI) from windows service(COM Exe runs as service).
I am using CreateProcessAsUser and trying to invoke, it invokes(when it invokes i am writing log) but not visible in taskmanager.
I doubt that the exe is getting invoked under "SYSTEM" and that is the reason its not visible in taskmanager and nor it works(obvious).
But I want to invoke under "User"(who is logged in).
To do so I tried using LogonUser but it needs username and password of user who is logged in machine. That I cant access.
Please guide me or give me clue.
Requirement is: Exe should run under the user who is logged in.
Regards,
KTTransfer.
|
|
|
|