|
Ok, that is not one of the drivers in the system.
I hope is is no brainer to find it and add to the system.
I sure would like to know where did you find out how to decode this diCompressor value.
And of course how did MS determine that - where is it "advertized".
I did not see anything like that in device driver properties.
Thanks
Vaclav
|
|
|
|
|
I found this under FOURCC, I guess I just answered my own question.
Next time I'll test for the FOURCC code!
<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd375802(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/dd375802(v=vs.85).aspx</a>[<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd375802(v=vs.85).aspx" target="_blank" title="New Window">^</a>]
|
|
|
|
|
How to draw an image excepting balck pixel color using gdi DrawImage function?
|
|
|
|
|
|
u can select other pixel color when u create the CPen,
CPen(int nPenStyle,int nWidth,COLORREF crColor);
|
|
|
|
|
We have migrated our workspace from VC6.0 to VS2010. There is a CreateControl api which is returning 0 after converting to VS2010. Before conversion this was working fine.
What could be the reason for failure.
|
|
|
|
|
V K 2 wrote: What could be the reason for failure.
At a guess, there is a bug in your code. Assuming you mean this function[^] then you can use your debugger to see what is happening. You could also check the value of GetLastError() on failures.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
|
See here[^] for example.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> If it doesn't matter, it's antimatter.<
|
|
|
|
|
|
Have a look at this[^] also.
|
|
|
|
|
Malli_S
|
|
|
|
|
void main()
{
const int i = 10;
int& j = (int&)i;
cout << "i= " << i << endl;
cout << "j= " << j << endl;
cout << "&i= " << &i << endl;
cout << "&j= " << &j << endl;
j++;
cout << "j= " << j << endl;
cout << "i= " << i << endl;
}
//output
i= 10
j= 10
&i= 0012FF60
&j= 0012FF60
j= 11
i= 10
Hi,
the code declares a const integer and a reference to it. incrementing a reference adds 1 to j and outputs as 11, that is fine. i was expecting "i" to get modified, since "i" and "j", both having a same memory address, as i print "i", it outputs 10 (or compiler should not allow to increment j). i could not understand the behavior. Could anybody explains me what is going on behind the scene?
regards
Abid
|
|
|
|
|
Which compiler are you using is it VS or something else?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
|
If you generate the assembler listing for this code you can see that any reference to i in the code uses the constant value 10 , but references to j use a memory variable, initially having a value of 10 but incremented as shown. I am not sure which language rule allows this but I would assume that since j is a reference to an integer then its target becomes a regular value.
I have tried changing j to const int& , but the compiler objects with error C3892.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
Additionally to what Richard said, if you change your
const int i = 10;
to
volatile const int i = 10;
then you get the expected result (outputting both i and j gives you 11 in the end).
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> If it doesn't matter, it's antimatter.<
|
|
|
|
|
The reason for that is that the compiler can't assume that i is fixed any more (you've told it that something somewhere could modify it) so there's a real variable behind it.
You're still not allowed to modify it through i though! This sort of trick is really handy for overlaying C++ objects on ranges of addresses for memory mapped devices.
Cheers,
Ash
|
|
|
|
|
Aescleal wrote: The reason for that is that the compiler can't assume that i is fixed any more (you've told it that something somewhere could modify it) so there's a real variable behind it. I know. As far as i know this basically means "don't keep in a register", so the compiler will do its best to keep the memory up-to-date.
Aescleal wrote: You're still not allowed to modify it through i though! This sort of trick is really handy for overlaying C++ objects on ranges of addresses for memory mapped devices. I think you shouldn't be able to do it, since usually things are declared as const for a reason, if you need to change them then don't make them const. But of course, there are those nasty situations when doing that can and will come in handy, like when you are using some 3rd party code you are not allowed (or simply don't want) to modify and try to call a method through a const pointer about which you know it does not change the object (like some simple Get method) and realize that the coder who created it kinda forgot to make the method const. Altrough this still might be dangerous because the method's implementation might change in the future and after the next update of the 3rd party library/codebase it borks everything...
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> If it doesn't matter, it's antimatter.<
|
|
|
|
|
I've used this construct for accessing read only registers on an old data collection card. Despite the fact you couldn't write to them an esteemed colleague of mine decided to try anyway. So after making them const as well as volatile he couldn't any more.
So it's been handy, er, once in my 23 year programming career. In 1994. It's about the only time I've used placement new as well!
As you said, the whole const reference thing is there to make sure you can call things that idiot programmers wrote who didn't understand const. In my experience it's more common when you're calling (very) old C interfaces with pointers. Usually very old C code has an excuse as most C compilers before C90 didn't support const.
Hmmm, wonder if it's worth having a C++FAQ on here, this one comes up at least once a year...
Cheers,
Ash
|
|
|
|
|
A FAQ? Hmm, that sounds like a good idea to me. There are many topics that seem to come up frequently...
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> If it doesn't matter, it's antimatter.<
|
|
|
|
|
Code-o-mat wrote: I think you shouldn't be able to do it, since usually things are declared as const for a reason
Pretty sure that the mindset of C++ (and C) is that the developer is a responsible adult and thus they are responsible for the stupid things that they do.
|
|
|
|
|
That probably does carry some truth And that's why we love and hate C++
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> If it doesn't matter, it's antimatter.<
|
|
|
|
|
Responsible adult? You've never worked in the games industry Biggest bunch of hackers (in the bad sense) out there.
|
|
|
|
|
Aescleal wrote: Responsible adult? You've never worked in the games industry Biggest bunch of hackers (in the bad sense) out there.
I do however have extensive telecom and financial experience and the same thing applies there.
|
|
|
|