|
ThatsAlok wrote: you getting 1 vote quite often...
yeah, coz i have my own personal downvoter.
-Prakash
|
|
|
|
|
Mr.Prakash wrote: yeah, coz i have my own personal downvoter.
Whom!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
ThatsAlok wrote: Whom!
I dont know, but he/she is out there, waiting for me to post new messages to be downvoted
-Prakash
|
|
|
|
|
Mr.Prakash wrote: I dont know, but he/she is out there, waiting for me to post new messages to be downvoted
seems you have many enemy *ahem* downvoter here... but you are very polite guy... how come thats possible.. anyways, now I am correcting that person mistake , also we have four vote ( gold member vote weight is four time more then any normal member) .
as if we take worse condition is your downvoter is atmost gold member .
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
-- modified at 0:14 Tuesday 10th January, 2006
|
|
|
|
|
ThatsAlok wrote: seems you have many enemy *ahem* downvoter here... but you are very polite guy... how come thats possible.. anyways, now I am correcting that person mistake , also we have four vote ( gold member vote weight is four time more then any normal member) .
as if we take worse condition is your downvoter is atmost gold member .
its not a big deal to get downvoted, but i would like to know wwhy it was downvoted on very innocent messages.
anyways no issues and thanks.
-Prakash
|
|
|
|
|
In my program I am calling a funtion which will employ the clipboard. the copy and paste process must be finished before the following codes are excuted, or errors will occur.
So I would like to program a delay after that function is called and before excuting the following codes.
Of course I can use the "for" loop, like "for(int i =1; i<=1000; i++){}" .
But, is there another way to make the program just pause and do nothing so that my program will not take too much resources of CPU and memory?
or is there any way to determine wether the clipboard thing has been completed?
Thank you very much!!!
-------------------
I am learning C++ and English
|
|
|
|
|
You could just sleep the thread for a few seconds.
Sleep(1000);
1000 being in milliseconds, i.e. Sleep(1000) = sleep for one second.
Kelly Ryan
|
|
|
|
|
I thought it would work, but it dose not, neither does the for loop.
my code is like the following:
pCtrlCopyDef->Excute();
pSketch->Edit();
pCtrlPasteDef->Excute();
AfxMessageBox(_T("Exit?"));
pSketch->ExitEdit();
I have worked on it for quite a long time and got nothing fixed. could you please help me analyze it and find a way out?
Thank you very much!!!
-------------------
I am learning C++ and English
Thank you very much!!!
-------------------
I am learning C++ and English
|
|
|
|
|
Are you redrawing your device context? Maybe the stuff is being pasted on there but you're just not drawing it.
Kelly Ryan
|
|
|
|
|
I am programming with the API of Autodesk Inventor, which is a CAD software. so the calling of the clipboard functionality is hidden behind those API function.
Thank you very much!!!
-------------------
I am learning C++ and English
|
|
|
|
|
But are you actually redrawing the device context that holds the pasted sketch? Maybe it's being pasted but you're just not re-drawing it.
Kelly Ryan
|
|
|
|
|
KellyR wrote: But are you actually redrawing the device context that holds the pasted sketch? Maybe it's being pasted but you're just not re-drawing it.
What WM_TIMER Message and SetTimer api
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
sorry ,I don't quite understand what you said.
Thank you very much!!!
-------------------
I am learning C++ and English
|
|
|
|
|
|
I am just calling the command provided by the Autodesk Inventor and I can't got the state infomation of the device context.
In addition. I can get the relative objects through API if the paste succeeds, but I got nothing, indicating that the paste failed
Thank you very much!!!
-------------------
I am learning C++ and English
|
|
|
|
|
More detail would help, but if I had to guess:
It works with the AfxMessageBox call but not with the Sleep call. This suggests the operation needs a message pump running.
Steve
|
|
|
|
|
yes, it is quite ture that It works with the AfxMessageBox call but not with the Sleep call.
what detail do I need to provide?
Thank you very much!!!
-------------------
I am learning C++ and English
|
|
|
|
|
I need more details on the implementation of the methods you're calling.
Steve
|
|
|
|
|
these methods are all provided by the API and no implementation is availalbe.
I just know that a message box has to be inserted.
Thank you very much!!!
-------------------
I am learning C++ and English
-- modified at 22:56 Monday 9th January, 2006
|
|
|
|
|
Is there any documentation for these methods that describe the environment needed by them?
Steve
|
|
|
|
|
Try code like this (instead of the AfxMessageBox call - since a message pump seems to be required):
UINT TimerId = SetTimer(NULL, 0, 5000, NULL);
MSG m;
BOOL bOk;
while ( (bOk=GetMessage(&m, NULL, 0, 0)) && bOk!=-1 )
{
DispatchMessage(&m);
if ( m.message==WM_TIMER && m.wParam==TimerId )
{
break;
}
}
KillTimer(NULL, TimerId);
Caveat:
I don't really know what's going on or what you’re trying to do or the over all structure of your program so this is just a guess. I have hard coded a 5 second delay. You will be able to use the UI of the app during this time - You may want to simulate modality by putting a call to disable the main app window before and another to re-enable it after. 9 times out of 10, when you put a hard coded delay in a program your doing the wrong thing: How long do you wait? Will this be long enough on a slower machine? If you wait long enough for a slow machine are you "cheating" users with fast machines?
Steve
|
|
|
|
|
these codes are to be put into a function in a class which is derived from a MFC class CDialog.
so when I copy the codes you provided, following errors occur:
error C2660: 'SetTimer' : function does not take 4 parameters<br />
error C2660: 'KillTimer' : function does not take 2 parameters
and I don't know how to call the two functions SetTimer and KillTimer of API version while there exists CWnd::SetTimer and CWnd::KillTimer
I don't much about these functions, so could you please tell me how do it?
Thank you very much!!!
-------------------
I am learning C++ and English
|
|
|
|
|
Put a "::" (two colons) in front of the effected functions. This will tell the compiler to use the global versions and not the member functions of the same name.
ie.
::SetTimer and ::KillTimer
Steve
|
|
|
|
|
thank you, Stephen Hewitt, I appreciate your help so much.
it works finally with your help!
in fact, it dosen't matter how long the time delay is set to be. I set it one milisecond, it works too
thanks a lot to all the other guys.
-------------------
I am learning C++ and English
-- modified at 2:09 Tuesday 10th January, 2006
|
|
|
|
|
ewighell wrote: in fact, it dosen't matter how long the time delay is set to be. I set it one milisecond, it works too
In that case you could try code like the following:
MSG m;
while ( PeekMessage(&m, NULL, 0, 0, PM_REMOVE) )
{
DispatchMessage(&m);
}
This is simpler. It dispatches all the messages in the message que then continues on - And no time delay.
Steve
-- modified at 2:48 Tuesday 10th January, 2006
|
|
|
|