|
shir_k wrote: Is there any way to remove that.
My guess is, not without also removing the caption.
You could always roll your own message box.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Thanks for the reply.
1)How to remove the caption?
2)Own message box means i have to create new dialog box in resource view and display the message or is there any other method.
|
|
|
|
|
Yes, there is probably a way to remove it (I think you have to look at how to remove the system menu or something like that).
But the question I'm asking is why do you want to remove it ? it's part of the normal Windows UI guidelines.
|
|
|
|
|
I just want to pop up a message to the user indicating "data is going to load please wait for sometime", It is just a information and data will be loaded even if user press "OK" or cancel button so i wanted to remove it.
|
|
|
|
|
It sounds like you want a modeless diaog instead so that the main thread is not blocked.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
So, there are no specific requirements to remove the "X" in the caption, so just leave it like that and concentrate on the the real features and/or other technical challenges that you might have.
|
|
|
|
|
Then why can't you use progress bar ??
Regards,
Paresh.
|
|
|
|
|
Click on the X button will give you back the IDCANCEL return value, as if you had pressed ESC or "Cancel" button.
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
Any message box that can be dismissed with ESC will have a close button. That's just how it works.
|
|
|
|
|
Hello Everybody,
I have develop and installed as MFC application and every thing was working fine.But I get "Event ID 1073 Occurs When You Attempt to Move the Quorum Disk" error in system log when I installed IE7 on my system and tried to log off the computer.I have not installed any driver through my application.
Please Suggest something..
Thanks In Advance.
|
|
|
|
|
Here bmfh is an object of BITMAPFILEHEADER and I am not sure to achieve the core meaning of the statement below can U explain me ?
if(bmfh.bfType != 0x4d42)
{
throw CDibException(CDibException::enm_file_read_filed, "BMPƒtƒ@ƒCƒ‹‚Å‚Í‚ ‚è‚Ü‚¹‚ñ");
}
|
|
|
|
|
keyto wrote: can U explain me ?
can't you follow the posting guidelines ?[^]
for your question, it just tests if the bfType member of your BITMAPFILEHEADER variable is different of the hexadecimal value 0x4d42.
if you can't understand this, maybe you should consider buy a book on C and lear about structs...
|
|
|
|
|
Hi,
MSDN[^] says that bfType must be BM.
0x4d - M
0x42 - B
Regards,
Paresh.
|
|
|
|
|
A consistence check for the bitmap file.
Every bitmap file must contain the characters 'B' (0x42) and 'M' (0x4d) at the very beginning.
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.
|
|
|
|
|
I have a sample project and I have to implement this code into my project. I could not understand the theme of the code can you make me understand the code? The code goes like this
void CDib::BmpLoad(CFile& rBmpFile)
{
int nCount, nSize;
BITMAPFILEHEADER bmfh;
nCount = rBmpFile.Read((LPVOID) &bmfh, sizeof(BITMAPFILEHEADER));
if(nCount != sizeof(BITMAPFILEHEADER))
{
throw CDibException(CDibException::enm_file_read_filed, "BMPƒtƒ@ƒCƒ‹ƒTƒCƒY‚ªˆÙí‚Å‚·");
}
// ƒtƒ@ƒCƒ‹ƒwƒbƒ_‚Ì'BM'‚ðŠm”F
if(bmfh.bfType != 0x4d42)
{
throw CDibException(CDibException::enm_file_read_filed, "BMPƒtƒ@ƒCƒ‹‚Å‚Í‚ ‚è‚Ü‚¹‚ñ");
}
nSize = bmfh.bfOffBits - sizeof(BITMAPFILEHEADER);
m_pBmpHead = (LPBITMAPINFOHEADER) new BYTE[nSize];
nCount = rBmpFile.Read(m_pBmpHead, nSize); // info hdr & color table
this->ComputeMetrics();
// BOOL ret;
// m_pImage = (LPBYTE)VirtualAlloc(NULL,m_dwSizeImage,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE);
// if(m_pImage == NULL)
// VirtualAlloc(&m_pImage,m_dwSizeImage,MEM_COMMIT,PAGE_READWRITE);
// MEMORY_BASIC_INFORMATION MemoryBasicInfo;
// VirtualQuery(m_pImage,&MemoryBasicInfo,sizeof(MemoryBasicInfo));
// if(MemoryBasicInfo.State != MEM_COMMIT)
// return;
// ret =VirtualLock((LPVOID)m_pImage,m_dwSizeImage);
m_pImage = (LPBYTE) new BYTE[m_dwSizeImage];
nCount = rBmpFile.Read(m_pImage, m_dwSizeImage); // image only
// ret =VirtualUnlock((LPVOID)m_pImage,m_dwSizeImage);
this->ComputePaletteSize(m_pBmpHead->biBitCount);
this->MakePalette();
this->MakeDDB();
}
|
|
|
|
|
Jeff Prosise's book [^] may help.
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.
|
|
|
|
|
keyto wrote: I could not understand the theme of the code can you make me understand the code?
Exactly which statement is troubling you?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
What do you want to know?
|
|
|
|
|
Hai,
i am working with IOCP server and normal socket Client. i have created 2 threads in my server side(in a thread pool). and trying to connect more number of clients using threads.
But Only 3969 clients are getting connected at a time....
as of use in IOCP we can connect 65000 clients .....but atleast i want 10,000 clients to connect.
What is the issue over here...
reply me,
Mani
Born to win...!
|
|
|
|
|
How many threads are created in total ?
D.Mani wrote: and trying to connect more number of clients using threads.
Do you have one thread that gets created for each clients that connect ?
|
|
|
|
|
hai,
thanks for reply, here is my code :
1.for (int ii = 0; ii < nNoOfThreads; ii++)
2.{
3.b = CreateConnectedSocket(&(pThreadInfo[ii].m_Socket),"192.168.60.206", nPortNo);
4.if(b)
5.{
6. pThreadInfo[ii].m_nThreadNo = ii+1;
7. p_hThreads[ii] = CreateThread(NULL, 4096, WorkerThread,(void *)(&pThreadInfo[ii]), STACK_SIZE_PARAM_IS_A_RESERVATION, &nThreadID);
8.}
in for loop "nNoOfThreads= 4500",
and the 3rd line i am creating socket, and trying to connect with passed parameters.
now..each 4500 sockets has o create,
den create thread will take care of message send and receving...
now the issue is only 3969 sockets are created... and the 3969 threads are created.
Mani.
Born to win...!
|
|
|
|
|
Do you know what a thread is ? Do you understand that you need some resources to manage one single thread ? Do you also understand that switching between different threads take some time, so imagine what will happen if you have to switch between 10000 threads. Multithreading is achieved by time slicing: your processor will work on one thread for a small amount of time, then switch to another thread for another small amount of time and so on... So, guess what happens when you have 10000 threads ? Nothing works anymore because there are just too much threads to be handled.
D.Mani wrote: What is the issue over here...
You are just asking too much from the system. There not enough memory to manage all the threads that you are creating. This should ring a bell that your design is just plain wrong.
Some people already told you that creating so many thread is a bad idea. Now you see the reason.
|
|
|
|
|
hai,
i want to check whther my server is stable and able to serve more number clients...approximately 10,000 clients...
all of them are trying to access this server at a time...
So, i need to give simultanoues access to the server..so i decided to use threads....for creating that many connections at a time....
each and every thread will start connecting to the server..,
i am not goin this way...without any aim...please understand this....
Born to win...!
|
|
|
|
|
No, really you ARE going without aim.
With an IOCP, you can service 10s of thousands of connections with just a few threads.
If you think every connection needs a thread, or that it's even possible for 10,000 threads
to simultaneously run on a machine with less than 10,000 CPUs, then you really don't understand
threads at all.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I think he's actually trying to emulate clients using a single thread per client. However, he's running into the same problem - you can't create huge numbers of threads in a single process because you run out of virtual memory. I think he's falling foul of the fact that even though he's only asking for a 4KB stack reserve, he's actually getting 64KB as that's the minimum that Windows VirtualAlloc will reserve. He's therefore blowing 256MB of virtual address space on thread stacks out of the 2GB available, presumably the rest being allocated by some other data structures and by the amount of code loaded into the process.
This is assuming that he's not actually blowing some other system data structure (handle table?) first.
Large-scale testing of servers is pretty tricky without actually getting thousands of people together each operating their own client. Right now my thin-client application server only has a Windows port of the client which can be automated, so I have one process per client (and it's a console-mode process, so one window per client). The practical limit is about 600 clients per test box, which is consuming about 70% of a 2 x Xeon 5150 box's CPU power due to a few odd timing loops and all the overhead of console mode output being RPCs to the CSRSS process which actually draws the windows.
DoEvents : Generating unexpected recursion since 1991
|
|
|
|