|
You are saying You got CreateFile correct, by getting and handle now facing problem with ReadFile?
Isnt it?
Please read this article, it will help u [^]Величие не Бога может быть недооценена.
|
|
|
|
|
Thank you Adam but no luck to find solution.
|
|
|
|
|
you arent accessing a file you try to open a drive. If you want to access the files you first the FindFile-API. Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Please check the error you are getting using GetLastError([^]).
So whether CreateFile is returning 0?
Please give more info.Величие не Бога может быть недооценена.
|
|
|
|
|
|
Please see my above reply. Величие не Бога может быть недооценена.
|
|
|
|
|
I have a control bar that houses a tab control which displays 'dialogs' on each of three tabs.
I want to update one of the tabs based on what happens in my main app window. I don't want to bombard my control bar with thousands of update messages everytime I do anything, so I was looking for a way to update it when it gets focus.
However, I don't really want to handle a get focus message on every dialog control on the tab, just to run an update. Is there no general way to see if a control bar is 'active'? (in this case, whenever focus moves to any control on any tab on the bar).
Do I have to put code in my main frame to watch for mouse clicks inside the client rect of the bar?
************************************
I reached an adequate compromise with an OnMouseActivate on my control bar tab, another OnMouseActivate in my view and a 'needs upadte' boolean member in the tab too.modified on Thursday, March 4, 2010 3:40 PM
|
|
|
|
|
OK, a combination of OnParentNotify and ModifyStyleEx(WS_EX_NOPARENTNOTIFY, 0) is doing the trick, but its a bit ugly.
Now I just need to detect when the whole thing loses focus....anyone?
|
|
|
|
|
Hmmm... OnMouseActivate might be even better...
|
|
|
|
|
hi u can us parentnotify... but why are you answering your own que? if you got the solution jst edit ur post title...
|
|
|
|
|
I only have a partial solution - I can use OnMouseActivate to detect activation, but I also need to detect "focus" leaving the dialog / tab.
I thought I could do it with TrackMouseEvent and OnMouseLeave but that doesn't work - since you get a 'dialog leave' event when any of the dialog controls are activated.
When (if?) I solve it, I will modify the original post...
|
|
|
|
|
Hi,
I have a C++ exe which crashes intermittently on Windows XP using MFC 7.1. In the eventvwr I can find an application error saying that "Faulting application tci_console.exe, version 0.0.0.0, faulting module tci_console.exe, version 0.0.0.0, fault address 0x000a09be." tci_console.exe is the exe name that crashes and is the C++ exe. Sometimes I also get the following error in the eventvwr "Faulting application tci_console.exe, version 0.0.0.0, faulting module msvcr71.dll, version 7.10.3052.4, fault address 0x000017fb." Please help me out as I am stuck with this problem for last 2 months. Also please note that the addresses are always constant that are present in th error messages.thanks,
dhina
|
|
|
|
|
Can't you debug your exe or ask the people who programmed the exe to do it ? Watched code never compiles.
|
|
|
|
|
If you can't use the Visual Studio debugger I suggest configuring Dr. Watson - it might help you find where the process is crashing. Take a look at http://support.microsoft.com/kb/308538[^] for how to set it up.
|
|
|
|
|
Elementary, my dear Watson!
|
|
|
|
|
Hello all. When I debug a Visual C++ 9 application and want to see a CString variable's value in the watch tab, it only displays a memory address. If I wish to see the string, I have to select CString's m_pszData member.
I remember that one could customize Intellisense so that it would show some specific value of a certain class. I've been googling for a while but haven't found something useful: I only get references to DebuggerDisplayAttribute class, but since that's a managed class I can't use it.
So, does anybody have a clue on how to configure Intellisense?
Thanks in advance.
|
|
|
|
|
Maybe you can edit the autoexp.dat file (somewhere in the VS folder) to do that ? (just google for that). Watched code never compiles.
|
|
|
|
|
Yep, that did the trick. I found this article[^] that explains how to do it. And although it references VC6 it works quite well in VC9, the only difference being that autoexp.dat file is located at C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger (in my machine, at least).
Thanks for the help!
|
|
|
|
|
Hi,
After making arbitrary decisiones for a long time, I've decide to ask it once and for all.
Suppose you have a bool value (WasFooEverCalled), that indicates whether some function Foo() was ever called or not. Suppose 'Foo()' is going to be called millions of times. What is more efficient:
1. Simply assigning 'WasFooEverCalled = true;' whenever Foo is called().
2. Whenever 'Foo()' is called, check whether 'WasFooEverCalled' is currently false, and if it is, assign 'WasFooEverCalled = true;'.
What I'm actualy asking is what is more CPU expensive, assigning a bool value, or checking if a bool value is something.
// Here's the code:
bool WasFooEverCalled = false;
void Foo()
{
WasFooEverCalled = true;
if ( ! WasFooEverCalled )
WasFooEverCalled = true;
}
Thanks!
|
|
|
|
|
void f()
{
...
}
class CF
{
public:
CF() { f(); };
};
void usage()
{
static CF onlyOnce();
}
I have no answer for your last question, sorry Check your definition of Irrationality[ ^]
1 - Avicenna
5 - Hubbard
3 - Own definition
|
|
|
|
|
I think both should use the same time. In general reading is faster then writing,
but both calls should be around 2-4 cycles on the cpu. So even if
reading would be faster then writing (assume 1 cpu cycle), you have to call this
function around ~2.5-3 billion times to have a differ of one second.
-> Conclusion:
If you really need that performance than you are using the wrong language and not
the wrong option.
At least:
Use option b, because if this function is called very often, the cpu also should have
a higher cache hit rate for this and the cpu doesn't have to do a memory access.Greetings
Covean
|
|
|
|
|
Ofer Gross wrote: What I'm actualy asking is what is more CPU expensive, assigning a bool value, or checking if a bool value is something.
If you'll look as the assembly code, you likely find that the latter takes one more instruction."One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
As David already suggested, option A, namely
mov BYTE PTR ?WasFooEverCalled@@3_NA, 1 ; WasFooEverCalled
looks more efficient than option B
cmp BYTE PTR ?WasFooEverCalled@@3_NA, 0 ; WasFooEverCalled
jne SHORT $LN4@Foo
; Line 702
mov BYTE PTR ?WasFooEverCalled@@3_NA, 1 ; WasFooEverCalled
$LN4@Foo:
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
You both should be right if you just look at the count of commands the cpu has to execute.
But as I mentioned before, there are more things that can effect the efficiency.
- cache hits
- (maybe) no write-back phase
- instruction order to process
...
At least:
I think this optimization stands in no relation to the time spend thinking about it.Greetings
Covean
|
|
|
|
|
Yes there are a lot of thing to consider, anyway it is very hard to figure out how 'option B' may outperform 'option A'.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|